Свертка базы УТ 10.3. Новая концепция

20.05.26

База данных - Свертка базы

Представлена обработка для свертки УТ 10.3 по новой концепции - когда сворачиваем "подокументно", а не "целиком и сразу по всем регистрам".

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
АнализДокументовРегистров вер. 5.0 - Свертка
.epf 24,74Kb ver:5.0
41 4 200 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Представлена внешняя обработка. Разработана на платформе 1С:Предприятие 8.3 (8.3.23.1865), на конфигурации "Управление торговлей", редакция 10.3 (10.3.82.1), демо-версии.

Платформа, по идее, может быть другой - поскольку специфичных платформенных процедур и функций не использовано. Версия УТ, по идее, может быть любой - поскольку технология широко распространяется на многие версии УТ.

Основной принцип - берутся движения документов (за сворачиваемый период, в разрезе организации) по регистрам накоплений и сведений, далее эти движения переносятся в документы "Корректировка записей регистров".

В процессе переноса движений - записи по регистрам сворачиваются

  • или естественным образом "плюс на минус": когда "приходы" сворачиваются с "расходами" в разрезе измерений; 
  • или просто группируются: когда вместо нескольких записей с одинаковыми измерениями остается одна запись, ресурсы при этом складываются.

В обоих случаях количество записей по регистрам уменьшается. В процессе переноса движений даты документов сдвигаются к сворачиваемой дате. Сами документы удаляются, в оконцовке остается один документ "Корректировка записей регистров" со всевозможными движениями за период.

Данная концепция подробно описана в первой публикации на эту тему:

И данная концепция сильно отличается от классической свертки, которая описана в публикации:

К слову сказать, для любой концепции вам пригодится сравнение остатков по регистрам накопления из публикации:

Итак, представленная обработка тестировалась на одной демо-базе. Поэтому пока предлагается не в качестве полноценного готового решения, а как вспомогательная обработка для сворачивания записей регистров. С этим она хорошо справляется. Открывается обработка через меню Файл-Открыть.

Для начала достаточно открыть обработку, выбрать организацию и период, нажать кнопку "Запустить анализ".

Предварительный анализ обязателен - вам надо выявить, все ли документы могут быть "сконвертированы" в документ Корректировка записей регистров. Вам надо просмотреть все документы, которые имеют остатки, обороты или сведения, которые должны быть свернуты.

Сама обработка подсказывает вам, что некоторые документы могут/не могут быть полностью сконвертированы - последний столбец показывает, что имеются регистры, которые возможно/нельзя перенести в документ "Корректировка записей регистров" (см. рис.)

Если вы видите, что документ можно не сворачивать - остатки по нему вам не интересны, то просто снимаете флажок "Вкл" (один из первых флагов в списке документов).

Если вы видите, что документ нужно свернуть, но по ряду регистров переносить остатки и сведения не нужно, тогда вы напротив соответствующих регистров снимаете галочки. При этом будут сняты галочки с этих регистров по всем документам из списка: как говорится, или переносим все записи по регистру, или ничего (см. рис.)

Для использования обработки, вам нужно обязательно добавить в документ "Корректировка записей регистров" новые реквизиты:

  • Организация (тип Справочники.Организации)
  • Имя документа (Строка (55 символов))
  • Свертка (тип Булево) 
  • ДокументОснование (тип любая ДокументСсылка) - см. рис.

Обработка не умеет обрабатывать регистры сведений, в которых в качестве реквизита указываются периоды действия записи регистра, например "Дата окончания" скидок в регистрах сведений подсистемы "Скидки и наценки" - см. рис.

При этом для этих регистров все подобные реквизиты регистров будут проигнорированы, сами записи регистров будут свернуты согласно последнему периоду действия записей: то есть, "кто последний - того и тапки".

Обработку можно использовать двумя способами:

  • по каждому виду документа - нажимаете кнопку "Свернуть" на уровне вида документа.
  • по всем документам - нажимаете кнопку в шапке обработке "Свернуть" - будут свернуты все документы с возведенным флагом "Вкл".

Первый способ удобен для тестов и в принципе, когда вам надо срочно уменьшить размер базы - актуально для файловых баз, например - сворачиваете какой-нибудь период по поступлениям товаров или реализациям товаров. При этом, кроме сворачивания регистров за период (связанных с документами поступлений и реализаций), будут очищены табличные части самих документов - что освободит много места.

В процессе переноса движений даты документов сдвигаются к сворачиваемой дате. Сами документы удаляются, в оконцовке остается один документ "Корректировка записей регистров" со всевозможными движениями за период - см. рис.

ПС. Важное замечание. Если у вас будут замечания по работе алгоритма (ошибки) - не бросайте камнями,  давайте решать их по мере поступления. И обязательно пробуйте сначала на копии.

11-04-2024г. Обновил алгоритм сворачивания записей по регистрам накопления. Убрал сворачивание с учетом видов движения "приход"/"расход". Например, для регистра ПартииТоваровНаСкладах результат сворачивания по такому принципу искажает исходную информацию. 

На этом все. Всем добра!

С пользой для клиентов, Rustig

Проверено на следующих конфигурациях и релизах:

  • Управление торговлей, редакция 10.3, релизы 10.3.82.1

Вступайте в нашу телеграмм-группу Инфостарт

свертка базы

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Разработчик Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы, интерфейс 8.5. Может выполнять свертку одновременно в несколько потоков, а также без непосредственного участия пользователя. Решение в Реестре отечественного ПО.

24900 руб.

20.08.2024    80197    409    171    

346

Свертка базы Системный администратор Разработчик 1С:Предприятие 8 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия 3.0 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 10 1С:Управление торговлей 11 1С:Розница 2 Платные (руб)

Универсальная свертка баз данных под 1С разработана для свертки баз данных различного объема и сложности. Обработка работает на простых и управляемых формах. Обработка позволяет легко и интуитивно понятно проводить работы по свертке базы данных и других необходимых операций связанных с обслуживанием баз данных.

6000 руб.

22.05.2024    9214    57    40    

65

Свертка базы Системный администратор Разработчик 1С 8.3 1C:Бухгалтерия 1С:Бухгалтерия 3.0 Россия Управленческий учет Платные (руб)

Механизм обрезки (свертки) базы 1С. Описан процесс переноса среза остатков в новую базу. Реализован способ обмена между базами без длительного отключения рабочей базы. Представлено прикладное решение - обработка по переносу данных. Есть 2 варианта запуска: на обычных и управляемых формах.

7320 руб.

27.03.2023    11938    22    4    

25

Свертка базы Разработчик 1С 8.3 1С 8.5 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Абонемент ($m)

Обработка сокращает детализацию движений закрытого периода в регистрах накопления. Вы выбираете дату и типы документов. Движения по регистрам накопления объединяются по аналитике и возвращаются в базу через документы «Корректировка регистров», а исходные документы остаются в базе непроведёнными. Очистка их табличных частей включается отдельно.

10 стартмани

28.09.2026    147    1    zhuravl    0    

0

Свертка базы Системный администратор 1С:Предприятие 8 1С:Управление торговлей 10 Россия Платные (руб)

Свёртка базы для 1С:УТ 10 с дополнительными возможностями. Позволяет свернуть или удалить отдельные организации и удалить помеченные документы.

14640 руб.

18.09.2026    209    0    0    

0

Свертка базы Системный администратор Разработчик Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Абонемент ($m)

Внешняя обработка для пошаговой свертки регистров на дату: ввод остатков через "Корректировка регистров", обязательная сверка 100% с эталоном и очистка старой истории только после подтверждения. Универсальный мастер без привязки к конкретной отраслевой конфигурации.

10 стартмани

14.09.2026    441    9    v_peroff    2    

2

Свертка базы Чистка данных Системный администратор Разработчик 1С 8.3 Бесплатно (free)

Штатный НайтиПоСсылкам на шести объектах идёт 4 250 секунд. При этом места, где ссылка вообще может лежать, считаются из метаданных за одну пятую секунды, и цена проверки определяется их числом. Шесть боевых баз, шесть находок и три мои ошибки, которые поймала живая база.

03.09.2026    1251    nedomolkov.ivan    0    

2

Свертка базы Чистка данных Разработчик 1С 8.3 Абонемент ($m)

Перед чисткой надо знать два числа: сколько это займёт и что сломается. Обработка отвечает на оба и не удаляет ничего. Замер скорости ссылочного контроля на вашей базе, поимённая раскладка "какое поле держит объект", точный вес присоединённых файлов и готовый код лечения под каждой находкой. Проверено на шести боевых базах.

10 стартмани

03.09.2026    599    2    nedomolkov.ivan    0    

0
Отзывы
8. RustIG 1989 04.04.24 09:50 Сейчас в теме
(7) все это прекрасно, что вы предлагаете. :)
Думаю, рано или поздно - все это появится в обработке для обычных и управляемых форм.

...В моей истории была файловая база, которая прирастала каждую неделю, и оставалось 1,5 месяца до "Апокалипсиса файловой базы", а технологическое окно не позволяло провести никакую классическую свертку. "Соль" представленной обработки - как раз уложиться в любое технологическое окно.
У вас только 2 часа по вечерам? - пож-та!
У вас одно вос-е в неделю? - пож-та!
В таком режиме тратить время на удаление помеченных в коротком тех. окне - это значит неправильно распределять предоставленное время тех. окна.
Поэтому изначально обработка заточена на минимум действий для достижения максимум результата в предложенных обстоятельствах.
Все, что вы предложили - можно делать во время работы пользователей, то есть не зависимо от тех. окна.
user2041697; support; Andreev.a; +3 – Ответить
15. RustIG 1989 12.04.24 12:23 Сейчас в теме
Свертка базы не заканчивается на предложенной обработке.
К примеру есть документы в УТ "Закрытие заказов покупателей" - в табличной части которых заказы по разным организациям. На мой взгляд, это упущение и недоработка разработчиков типовых конфигураций. Типовые конфигурации надо разрабатывать так, чтобы легко было сворачивать остатки.
Так вот, документ "Закрытие заказов покупателей" не только не содержит разреза по Организации, но и содержит в табличной части заказы по всем организациям. Внедренцы сталкиваются с тем, что по данному документу-регистратору нельзя будет свернуть остатки в разрезе только одной Организации.
Сейчас сворачиваю базу - предложенная обработка помогает, но не закрывает потребности. Очень много приходится дополнительно программировать вспомогательных обработок.
16. RustIG 1989 18.04.24 12:21 Сейчас в теме
Удаление документов из базы по Организации - можно рассматривать как задачу по свертке, точнее частичной свертке. Есть документы, которые имеют реквизит "Организация", но делают движения по регистрам без разреза (без измерения) "Организация". Самый простой пример - это Реализация товаров - делает записи по регистру ПартииТоваровНаСкладах.
То есть просто так мы не можем удалить Реализацию по Организации - полетят остатки по регистру ПартииТоваров.
Остальные комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Tarlich 89 03.04.24 23:15 Сейчас в теме
Идея интересная ! Если выбираю документ могу выбрать какие именно регистры меня интересуют ? (Пример - что касается НДС вообще хочу обнулить) (Увидел - как говорится, или переносим все записи по регистру, или ничего (см. рис.))
Свертка в понимании пользователей - это так же уход от накопленных ошибок учета - пересорт по измерениям .
как я понимаю что данная свертка конечно свернет все как есть , но к примеру партии или взаиморасчеты по док расчетов - (как привило это и есть для многих основные регистры) часто хочется повесить на одну партию (для товара) или на один начальный док расчетов (для взаиморасчетов)
А как поведет себя регистр - накопленные скидки по продажам ?
Вижу основной плюс что можно частями делать , но опять же на примере - что мне даст только свертка реализации без других документов которые делают движения по тем же регистрам ?
Да Табличные части очищены - но эти все документы помеченные на уд будут висеть же - т.к на них будут ссылки .
Почему временные док Корректировок - не удалить бы сразу непосредственно ?
Andreev.a; +1 – Ответить
2. RustIG 1989 04.04.24 08:44 Сейчас в теме
(1)
Если выбираю документ могу выбрать какие именно регистры меня интересуют ?

Да, можно выбрать галочками. Остальное игнорируется и не переносится - по сути информация удалится.
3. RustIG 1989 04.04.24 08:54 Сейчас в теме
(1)
но к примеру партии или взаиморасчеты по док расчетов

Есть идея добавить такой функционал - для определенных регистров задать правило "заменять документ расчета на заданный документ":

Док = Документы.ДокументРасчетов.Создать();

СоответствиеРегистровИДокументов = Новый Соответствие;
СоответствиеРегистровИДокументов .Вставить("ИмяРегистра", Док.Ссылка);

Затем во всех переносах записей заменять ДокументРасчета на Док.Ссылка.

Я бы так сделал, я уже думал об этом.
4. RustIG 1989 04.04.24 08:58 Сейчас в теме
(1)
А как поведет себя регистр - накопленные скидки по продажам ?

регистр называется ПредоставленныеСкидки
он свернется по измерениям - регистр оборотный - в представленной концепции ничем не отличается от регистров остатков.
Если нужно какие-то измерения "обнулить" в процессе сворачивания, то можно задействовать идею из сообщения 3.
5. RustIG 1989 04.04.24 09:01 Сейчас в теме
(1)
Вижу основной плюс что можно частями делать , но опять же на примере - что мне даст только свертка реализации без других документов которые делают движения по тем же регистрам ?

1) если у вас файловая база - уменьшите объем базы - найдите в своей файловой базе самые большие таблицы - начните свертку с них - для файловых баз размер имеет значение
2) если у вас клиент-серверная база, то сами решайте - нужна ли вам свертка. Подокументно - нужно когда технологическое окно такое, что не успеваете удалить все документы (и реализации, и поступления) за один раз.
6. RustIG 1989 04.04.24 09:06 Сейчас в теме
(1)
Почему временные док Корректировок - не удалить бы сразу непосредственно ?

Думал об этом - пока надо оставить, чтобы у людей было понимание, что происходит, и чтобы не было ощущения "фокуса". Добавлю опцию "удалять промежуточные корректировки".


(1)
Да Табличные части очищены - но эти все документы помеченные на уд будут висеть же - т.к на них будут ссылки .

Да, пож-та - зависит от вашей задачи - ссылки можно заменить на какой-то документ, или же оставьте: сами ссылки не будут занимать много места, поскольку таких документов должно остаться мало после свертки.
11. RustIG 1989 05.04.24 14:01 Сейчас в теме
(1) просто отключите регистр ПартииТоваровНаСкладах и ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов, и все. Тогда информация по этим регистрам исчезнет по документам за выбранный период. Это самый простой способ.
12. RustIG 1989 05.04.24 14:58 Сейчас в теме
(11)Дополню свой ответ. Если тех.окно малое - то сворачиваем "как есть". Когда полностью свернули (за несколько итераций, несколько дней) можно применить классическую свертку - использовать спец. документ, например "Оприходование товаров" для выравнивания остатков по регистрам ТоварыНаСкладах и ПартииТоваровНаСкладах. Вот такой симбиоз я вижу.
7. Tarlich 89 04.04.24 09:37 Сейчас в теме
Ну еще из пожеланий - добавить удаление возможных помеченных документов - этот процесс может быть по времени дольше чем сама свертка , а из вершины чуда будет добавить удаление неиспользуемых справочников (хотя бы основные - номенклатура и контрагенты ) -))
8. RustIG 1989 04.04.24 09:50 Сейчас в теме
(7) все это прекрасно, что вы предлагаете. :)
Думаю, рано или поздно - все это появится в обработке для обычных и управляемых форм.

...В моей истории была файловая база, которая прирастала каждую неделю, и оставалось 1,5 месяца до "Апокалипсиса файловой базы", а технологическое окно не позволяло провести никакую классическую свертку. "Соль" представленной обработки - как раз уложиться в любое технологическое окно.
У вас только 2 часа по вечерам? - пож-та!
У вас одно вос-е в неделю? - пож-та!
В таком режиме тратить время на удаление помеченных в коротком тех. окне - это значит неправильно распределять предоставленное время тех. окна.
Поэтому изначально обработка заточена на минимум действий для достижения максимум результата в предложенных обстоятельствах.
Все, что вы предложили - можно делать во время работы пользователей, то есть не зависимо от тех. окна.
user2041697; support; Andreev.a; +3 – Ответить
9. Tarlich 89 04.04.24 12:16 Сейчас в теме
(8) А вот с УФ может быть все не так - там и дата проведения может быть не равна дате документов и движения могут делать справочники
10. RustIG 1989 04.04.24 13:08 Сейчас в теме
13. RustIG 1989 08.04.24 15:17 Сейчас в теме
В моем алгоритме пока не используется пакетная обработка документов. В этой связи, есть где ускорить алгоритм - просто применить пакетную обработку документов (наработки по которой я применил в обработке удаления документов из другой своей публикации).
14. RustIG 1989 11.04.24 13:56 Сейчас в теме
11-04-2024г. Обновил алгоритм сворачивания записей по регистрам накопления. Убрал (а точнее закомментировал для истории) сворачивание с учетом видов движения "приход"/"расход". Например, для регистра ПартииТоваровНаСкладах результат сворачивания по такому принципу искажает исходную информацию. А для регистра ТоварыНаСкладах - в принципе подходит, но в общем случае закомментировал дополнительное сворачивание.
15. RustIG 1989 12.04.24 12:23 Сейчас в теме
Свертка базы не заканчивается на предложенной обработке.
К примеру есть документы в УТ "Закрытие заказов покупателей" - в табличной части которых заказы по разным организациям. На мой взгляд, это упущение и недоработка разработчиков типовых конфигураций. Типовые конфигурации надо разрабатывать так, чтобы легко было сворачивать остатки.
Так вот, документ "Закрытие заказов покупателей" не только не содержит разреза по Организации, но и содержит в табличной части заказы по всем организациям. Внедренцы сталкиваются с тем, что по данному документу-регистратору нельзя будет свернуть остатки в разрезе только одной Организации.
Сейчас сворачиваю базу - предложенная обработка помогает, но не закрывает потребности. Очень много приходится дополнительно программировать вспомогательных обработок.
16. RustIG 1989 18.04.24 12:21 Сейчас в теме
Удаление документов из базы по Организации - можно рассматривать как задачу по свертке, точнее частичной свертке. Есть документы, которые имеют реквизит "Организация", но делают движения по регистрам без разреза (без измерения) "Организация". Самый простой пример - это Реализация товаров - делает записи по регистру ПартииТоваровНаСкладах.
То есть просто так мы не можем удалить Реализацию по Организации - полетят остатки по регистру ПартииТоваров.
17. vitalchikkk 17.07.25 09:45 Сейчас в теме
Добрый день. Для последней УТ_10.3 работать будет? Нужно свернуть УТ_10.3 и всю инфу перенести в УТ.11.
18. RustIG 1989 17.07.25 10:11 Сейчас в теме
(17)
Для последней УТ_10.3 работать будет?

наверное, да, если понимаете принципы работы механизмов, описанных в этой концепции
здесь нет готовой обработки, которая вам идеально все свернет - за вами анализ и контроль за операциями
19. RustIG 1989 11.08.25 14:05 Сейчас в теме
(17)
(17)
Для последней УТ_10.3 работать будет?

наверное, да, если понимаете принципы работы механизмов, описанных в этой концепции
здесь нет готовой обработки, которая вам идеально все свернет - за вами анализ и контроль за операциями
Для отправки сообщения требуется регистрация/авторизация