Представлена внешняя обработка. Разработана на платформе 1С:Предприятие 8.3 (8.3.23.1865), на конфигурации "Управление торговлей", редакция 10.3 (10.3.82.1), демо-версии.
Платформа, по идее, может быть другой - поскольку специфичных платформенных процедур и функций не использовано. Версия УТ, по идее, может быть любой - поскольку технология широко распространяется на многие версии УТ.
Основной принцип - берутся движения документов (за сворачиваемый период, в разрезе организации) по регистрам накоплений и сведений, далее эти движения переносятся в документы "Корректировка записей регистров".
В процессе переноса движений - записи по регистрам сворачиваются
- или естественным образом "плюс на минус": когда "приходы" сворачиваются с "расходами" в разрезе измерений;
- или просто группируются: когда вместо нескольких записей с одинаковыми измерениями остается одна запись, ресурсы при этом складываются.
В обоих случаях количество записей по регистрам уменьшается. В процессе переноса движений даты документов сдвигаются к сворачиваемой дате. Сами документы удаляются, в оконцовке остается один документ "Корректировка записей регистров" со всевозможными движениями за период.
Данная концепция подробно описана в первой публикации на эту тему:
И данная концепция сильно отличается от классической свертки, которая описана в публикации:
К слову сказать, для любой концепции вам пригодится сравнение остатков по регистрам накопления из публикации:
Итак, представленная обработка тестировалась на одной демо-базе. Поэтому пока предлагается не в качестве полноценного готового решения, а как вспомогательная обработка для сворачивания записей регистров. С этим она хорошо справляется. Открывается обработка через меню Файл-Открыть.
Для начала достаточно открыть обработку, выбрать организацию и период, нажать кнопку "Запустить анализ".
Предварительный анализ обязателен - вам надо выявить, все ли документы могут быть "сконвертированы" в документ Корректировка записей регистров. Вам надо просмотреть все документы, которые имеют остатки, обороты или сведения, которые должны быть свернуты.
Сама обработка подсказывает вам, что некоторые документы могут/не могут быть полностью сконвертированы - последний столбец показывает, что имеются регистры, которые возможно/нельзя перенести в документ "Корректировка записей регистров" (см. рис.)
Если вы видите, что документ можно не сворачивать - остатки по нему вам не интересны, то просто снимаете флажок "Вкл" (один из первых флагов в списке документов).
Если вы видите, что документ нужно свернуть, но по ряду регистров переносить остатки и сведения не нужно, тогда вы напротив соответствующих регистров снимаете галочки. При этом будут сняты галочки с этих регистров по всем документам из списка: как говорится, или переносим все записи по регистру, или ничего (см. рис.)
Для использования обработки, вам нужно обязательно добавить в документ "Корректировка записей регистров" новые реквизиты:
- Организация (тип Справочники.Организации)
- Имя документа (Строка (55 символов))
- Свертка (тип Булево)
- ДокументОснование (тип любая ДокументСсылка) - см. рис.
Обработка не умеет обрабатывать регистры сведений, в которых в качестве реквизита указываются периоды действия записи регистра, например "Дата окончания" скидок в регистрах сведений подсистемы "Скидки и наценки" - см. рис.
При этом для этих регистров все подобные реквизиты регистров будут проигнорированы, сами записи регистров будут свернуты согласно последнему периоду действия записей: то есть, "кто последний - того и тапки".
Обработку можно использовать двумя способами:
- по каждому виду документа - нажимаете кнопку "Свернуть" на уровне вида документа.
- по всем документам - нажимаете кнопку в шапке обработке "Свернуть" - будут свернуты все документы с возведенным флагом "Вкл".
Первый способ удобен для тестов и в принципе, когда вам надо срочно уменьшить размер базы - актуально для файловых баз, например - сворачиваете какой-нибудь период по поступлениям товаров или реализациям товаров. При этом, кроме сворачивания регистров за период (связанных с документами поступлений и реализаций), будут очищены табличные части самих документов - что освободит много места.
В процессе переноса движений даты документов сдвигаются к сворачиваемой дате. Сами документы удаляются, в оконцовке остается один документ "Корректировка записей регистров" со всевозможными движениями за период - см. рис.
ПС. Важное замечание. Если у вас будут замечания по работе алгоритма (ошибки) - не бросайте камнями, давайте решать их по мере поступления. И обязательно пробуйте сначала на копии.
11-04-2024г. Обновил алгоритм сворачивания записей по регистрам накопления. Убрал сворачивание с учетом видов движения "приход"/"расход". Например, для регистра ПартииТоваровНаСкладах результат сворачивания по такому принципу искажает исходную информацию.
На этом все. Всем добра!
С пользой для клиентов, Rustig
Проверено на следующих конфигурациях и релизах:
- Управление торговлей, редакция 10.3, релизы 10.3.82.1