Работы проводились на платформе 1С:Предприятие 8.3 (8.3.13.1644), в программе "Управление торговлей", редакция 10.3 (10.3.49.3).
Комментарии Техподдержки к данной публикации являются неотъемлемой частью публикации - все, что не описано в публикации, описано в комментариях к данной публикации.
Цель свертки - свернуть остатки по товарам и по взаиморасчетам с контрагентами.
По товарным остаткам нужно, чтобы остатки в товарном и в партионном учете совпадали (соот-но в разрезе Номенклатуры, Характеристики, Серии и/или Качества). За товарный учет отвечает регистр накопления ТоварыНаСкладах, за партионный учет (в котором отражается себестоимость товара) - регистр накопления ПартииТоваровНаСкладах. Все регистры вы можете открыть через меню Операции - Регистры накопления - далее наложить отборы, чтобы увидеть разрезы учета.
Если у вас задействованы в учете регистры накопления ПартииТоваровПереданные, ТоварыПереданные, ТоварыВРознице, ТоварыВНТТ, то вам не подойдет обработка СоздатьОприходование.
Обновление 07-05-2020г.:
1) добавлена обработка по созданию Установки цен номенклатуры (для товаров и услуг)
2) добавлена обработка по созданию Оприходования товаров с последними приходными ценами (из документов Поступление товаров и услуг или Оприходование товаров) - см. п.1 - п.4
3) добавлена обработка по созданию Корректировки записей регистров накопления ДенежныеСредства и ДенежныеСредстваКомитента - см. пункт 4 - конец раздела
1. Типовая свертка (с диска ИТС или ИТС-онлайн - обработка "Свертка информационной базы" https://its.1c.ru/db/metod8dev#content:3685:hdoc) сворачивает регистры "ТоварыОрганизаций", "ТоварыНаСкладах", "ПартииТоваровНаСкладах". Если в базе начались расхождения по этим регистрам, то в результате проведения типовой свертки вы получите те же расхождения и не сможете свести остатки. Поэтому наилучшим методом является не использовать типовую свертку по товарам, а написать обработку, которая переносит остатки по регистру "ТоварыНаСкладах" в документ "ОприходованиеТоваров". Прикладываю обработку к статье. Себестоимость товаров (которая указывается в поле Цена табл. части документа Оприходование) при этом можно брать по разному - приведу два возможных способа:
1) по средней из регистра "ПартииТоваровНаСкладах" (такой способ реализован в прилагаемой обработке "Создание оприходования")
2) если заданы "Приходные" цены, то из регистра сведений "ЦеныНоменклатуры" (этот способ запрограммирован в обработке "Создание оприходования по последним приходным ценам")
Дополнительные комментарии:
1) по тем товарам, по которым себестоимость не определяется, проставляется 1 руб. (или 1 копейка), в дальнейшем правится руками. Для целей выделения НДС рекомендую ставить 1 руб. Если НДС нет, то 1 копейку.
2) добавил обработку для создания Оприходования товаров с последними приходными ценами. В данном случае цена по номенклатуре берется из последнего документа-регистратора "Поступление товаров и услуг" или "Оприходование товаров" (до даты сворачивания остатков). Обработка в целом будет полезна не только для свертки остатков, но и в дальнейшем в текущей деятельности предприятия.
2. Такой же вариант проведения свертки можно использовать для сворачивания взаиморасчетов по контрагентам. Так, к примеру, типовая свертка сворачивает регистры "ВзаиморасчетыСКонтрагентами", "ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов", "РасчетыСКонтрагентами". При этом по документам расчета не проверяется итоговая задолженность контрагента в целом по договору: по договору в целом задолженности может не быть, а остатки по документам расчета на определенную дату имеются (см.рис.1).
При использовании типовой свертки связь между регистрами "РасчетыСКонтрагентами" и "ВзаиморасчетыСКонтрагентами" теряется.
А если самим перенести остатки по взаиморасчетам с контрагентами в специализированный типовой документ "ВводНачальныхОстатковПоВзаиморасчетам", то связь между регистрами будет выстроена автоматически - через документ-регистратор и закладываемую логику алгоритма проведения этого документа.
Поэтому наилучшим способом будет не использовать типовую свертку, а перенести остатки через обработку создания документов ""ВводНачальныхОстатковПоВзаиморасчетам" (прикладываю к статье).
3. Сделал архивную копию базы, развернул две копии рабочей базы - первая для экспериментов, вторая база - неприкосновенная для сравнения с первоначальной рабочей базой. Вторая база пригодилась с неожиданной стороны. Я начал в рабочей базе восстанавливать последовательность проведения документов (по партионному учету). В итоге остатки по товарам и взаиморасчетам стали "скакать" - остатки по товарам ушли в минус, появились долги по контрагентам.
В результате выяснилось, что в базе имелись документы, в реквизитах которых стояли одни контрагенты или товары, а в проводках были другие. Такие ошибки могут возникать по разным причинам, назову только две известные мне:
1) при обмене документами с другими базами, не производится дальнейшая процедура перепроведения документов (восстановления последовательности);
2) при групповом изменении реквизитов документа, не производится дальнейшая процедура перепроведения документов (восстановления последовательности).
В итоге для исправления ошибок учета менеджеры создавали "Списания товаров", "Корректировку долга", "Оприходования товаров" вместо того, чтобы выявить причину происхождения ошибок и ликвидировать ее.
В общем, вывод такой - не всегда полезно восстанавливать последовательность перед сверткой. А так как мною в рабочей базе за два года были перепроведены документы, текущие остатки никого не устраивали. Пришлось или восстанавливать архив и переносить документы за пару дней работы менеджеров, или найти альтернативный вариант. Так как сворачивать рабочую базу уже было нельзя, а восстанавливать ее было долго, то было сделано так - на второй базе была проведена свертка, далее необходимые документы "Ввод Начальных Остатков По Взаиморасчетам", "Оприходование Товаров", "Корректировка Записей Регистров" были перенесены в рабочую базу с помощью типовой обработки "Выгрузка Загрузка Данных XML 82". В дальнейшем документы в рабочей базе были удалены до даты свертки.
4. При анализе регистров сведений (и регистров накопления) - что сворачивать, а что оставить как есть, обнаружил такой момент. Для своих нетиповых регистров сведений, которые я добавлял в течение года, рекомендуется добавлять в качестве документа-регистратора документ "КорректировкаЗаписейРегистров". Это пригодится не только при создании Корректировки записей этих регистров, но и при сворачивании информации в конце года. Это было небольшое отступление. Что касается свертки :
В изначальной постановке задачи цены по товарам, как и все остальные регистры сведений, было решено не сворачивать!
Но в дальнейшем оказалось удобным именно по ценам свернуть регистр ЦеныНоменклатуры. Это делается так: создается документ Установка цен номенклатуры по каждому используемому типу цен (с помощью прилагаемой обработки), этот документ остается в базе, его следует провести. Остальные документы Установка цен номенклатуры прошлых периодов нужно сначала распровести, затем удалить из базы.
В типовой свертке, чтобы случайно не свернуть регистры сведений и другие регистры накопления, я отключил их обработку через групповое изменение (см.рис.2, 3)
Когда случайно перепутал кнопки - нажал "Свернуть все" вместо "Сформировать" - тогда потерял час времени, поскольку удалились записи по многим регистрам, потом пришлось восстанавливать копию из архива. Чтобы не путаться в кнопках, отключил их доступность совсем (см.рис.4).
Для проведения типовой свертки по определенным регистрам накопления:
"ДенежныеСредства",
"ДенежныеСредстваКСписанию",
"ТоварыВРезервеНаСкладах",
"РазмещениеЗаказовПокупателей",
"ЗаказыПокупателей" -
использовал только кнопку "Сформировать" (см. рис.4).
Добавлено 08-05-2020г:
бывают проекты по свертке, когда типовую обработку "Свертка информационной базы" можно не использовать для переноса остатков и оборотов по регистрам (сведений или накоплений):
- вообще УТ 10.3 интересна тем, что регистров накопления в программе мало...
- среди них отвечающих за определенный блок учета еще меньше - товары, денежные средства, НДС, взаиморасчеты с контрагентами...
- а регистры, которые имеют остатки по своему блоку на конец года (или другую дату) еще меньше, остальные оборотные...
- поэтому иногда проще написать свою обработку, которая собирает остатки по одному-двум регистрам, записывает остатки в документ Корректировка записей регистров - вот вам и документ ввода начальных остатков.
В очередном проекте по свертке остатков я так и поступил - написал обработку для свертки регистров ДенежныеСредства и ДенежныеСредстваКомитента. Остальные "денежные" регистры на конец года остатков не имели. Обработку прикладываю.
Если нужно перенести из одной базы в другую документ Корректировка записей регистров, переносите регистры, а не документ. Сам документ перенесется автоматом по ссылке - см.рис. Укажите только отбор по регистратору.
5. Типовая свертка не сворачивает регистры оборотов: алгоритм не написан, используется вызов команды "Возврат" для оборотных регистров. Получается, что после проведения свертки из базы исчезнут вместе с документами-регистраторами вся накопленная информация по оборотным регистрам!
К примеру, если вы используете накопительные скидки, то вам важно сохранить после свертки информацию по регистру "Продажи по дисконтным картам". В результате я написал обработку для сворачивания оборотов по регистру "Продажи по дисконтным картам", выкладываю здесь. Для других оборотных регистров можно использовать тот же принцип, и доработать алгоритм обработки по аналогии.
6. Так как УТ 10.3 обменивалась с БП 3.0, то перед проведением свертки, я провел обмен и изменил дату переноса документов на Дату свертки.
Так как процедура сворачивания остатков растянулась на несколько вечеров, то пришлось установить "Дату запрета редактирования" на Дату свертки, и включить "Применение даты запрета редактирования для полных прав" (через константу). Помним об этом!
7. После формирования документов остатков, документы за весь прошлый период распровел и пометил на удаление с помощью "Групповой обработки документов и справочников". И впоследствии удалил с помощью обработки "Удаление помеченных объектов без монопольного режима" (ищите на ИС). Хотя нет, удалил непосредственно с помощью обработки "Удалить документы без проверки" (выкладываю здесь).
Последнюю обработку не рекомендую использовать вслепую - требуется адаптация под вашу свертку. Поскольку с помощью нее удаляются все документы помеченные на удаление без проверки наличия ссылок на них, кроме документов, которые входят в записи регистров из документов "Корректировка записей регистров", используемых для отражения наших остатков в свертке базы. Зная какие регистры свернулись и содержат остатки на дату свертки, мы можем по ним исключить из удаления документы, входящие в состав остатков по данным регистрам. В общем, смотрите код обработки, он открыт, адаптируйте под себя!
8. Не использовал в запросах тип "Граница" вместо "Даты" (ДатыСвертки) - хотя по уму надо, и не пришлось анализировать и сворачивать регистры по НДС - и если кому придется, то воспользуйтесь подходом из пункта 2 и документом "Ввод Начальных Остатков НДС" и "Ввод Начальных Остатков НДС по Партиям" соответственно.
ОБНОВЛЕНИЕ от 24-12-2020г
Добавил обработки благодаря новому проекту:
1) "Создать оприходование по партиям товаров" - в очередной базе регистр "ТоварыНаСкладах" НЕ использовался, а все остатки товаров учитывались по регистру "ПартииТоваровНаСкладах". Поэтому для свертки пришлось использовать новую обработку. Обработка смотрит остатки на дату по регистру "ПартииТоваровНаСкладах", если количество положительное, то переносит остаток в документ Оприходование, если сумма остатка меньше или равна нулю, то в Оприходование садится 1 руб.
2) "Установить пометку удаления номенклатуры" - в базе номенклатура создавалась каждый раз при поступлении, товарная матрица обновлялась каждый квартал, поэтому номенклатура, поступившая в 2016-2017-2018 гг, уже не использовалась, но занимала много места.
Обработка смотрит номенклатуру, которой нет в остатках и оборотах регистра "ПартииТоваровНаСкладах". Есть нюанс, если у вас услуги (наборы, комплекты), то они не будут обработаны.
Если товара нет в обороте и на остатках, то он помечается на удаление. В дальнейшем его можно будет отдельной обработкой удалить.
3) "УдалитьСправочникиБезПроверкиСвязанныхСсылок" - в проекте номенклатура обновлялась часто и выходила из оборота каждый квартал (это розничный магазин Кальцедония - описание проекта есть в моих публикациях), поэтому номенклатуру можно было почистить - удалить неиспользуемую.
Я воспользовался уже давно разработанной обработкой - есть отдельные публикации, в которых вы также можете скачать эту обработку. В обработке пометил на удаление Номенклатуру и ЕдиницыИзмерения, запустил удаление.
В результате, база после удаления документов 2016-2018гг уменьшилась с 12,4 Гб до 4,4 Гб, после удаления номенклатуры уменьшилась до 4,3 Гб.
Всем добра! :)
С пользой для клиентов, RustIG
1) [Расширение] УНФ. Список заказов + Структура подчиненности
2) [Расширение] УТ 11.4. Счет на оплату с факсимиле
3) [Расширение] БП 3.0. Список счетов/ Список реализаций + Связанные документы
Внешние обработки (не расширения!):
2) Список заказов поставщикам + структура подчиненности
3) Список заказов покупателей + структура подчиненности
4) Список реализаций со структурой подчиненности + реестр документов
5) Список заказов покупателей (Расширенная версия)
Другие публикации:
1) Удаление справочников для любых баз на управляемых формах
2) Удаление документов для любых баз на управляемых формах
3) Удаление чеков ККМ в Рознице 2.2
4) Загрузка товаров, штрихкодов, цен и остатков на УФ - Розница 2.2
5) Отчет Остатки и цены (прайс с остатками)
6) Как почистить характеристики в УТ 10.3
7) [ЦФшник] Доработка конфигурации Конвертация Данных
8) [Внешняя обработка] Ввод показателей план-факта БП 3.0
9) [Шаблоны] Договоры для 1с-ника ТОП-скачиваний
10) Прайс-Заказ
11) Адресное хранение: этикетки складских ячеек со стрелками
12) Загрузка свойств товара из эксель
13) Маркировка: привязка марок к товарам и печать марок, поступивших от поставщика
Гарантия возврата денег
ООО "Инфостарт" гарантирует Вам 100% возврат оплаты, если программа не соответствует заявленному функционалу из описания. Деньги можно вернуть в полном объеме, если вы заявите об этом в течение 14-ти дней со дня поступления денег на наш счет.
Программа настолько проверена в работе, что мы с полной уверенностью можем дать такую гарантию. Мы хотим, чтобы все наши покупатели оставались довольны покупкой.
Для возврата оплаты просто свяжитесь с нами.