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

11.04.24

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

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

Скачать исходный код

Наименование Файл Версия Размер
АнализДокументовРегистров вер. 5.0 - Свертка
.epf 24,74Kb
7
.epf 5.0 24,74Kb 7 Скачать

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

свертка базы

См. также

Оптимизированная свертка Бухгалтерии 3.0

Свертка базы Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Платные (руб)

Расширение позволяет за 1-2 дня свернуть базу с десятками миллионов документов. Использует оптимизированный алгоритм определения документов, на которые нет ссылок, для последующего удаления 16 фоновыми заданиями. Не помечает документы на удаление.

38400 руб.

08.02.2024    634    2    0    

3

Многофункциональная выгрузка из 1С:УТ 11/ УТ 10 в 1С:БП2, БП3 (соответствия товаров, контрагентов, складов, статей ДДС)+Свёртка по НДС

Перенос данных 1C Оптовая торговля Свертка базы Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Хотите точно знать, что вы выгружаете? Хотите сворачивать товары по НДС или фильтровать товары по доп. реквизиту? Вы волшебник, которому необходимо превращать одних контрагентов в других? Хотите при выгрузке превратить группу товаров в один? Или просто нужен удобный OLE обмен между 1C:Управление торговлей (ред. 11 или 10) и 1С:Бухгалтерия предприятия (ред. 2 или 3). Тогда эта обработка для вас!

10900 руб.

19.04.2013    170052    351    397    

327

Обрезание базы 1С

Свертка базы 8.3.8 Конфигурации 1cv8 1С:Бухгалтерия 3.0 Россия Управленческий учет Платные (руб)

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

7200 руб.

27.03.2023    4407    12    2    

14

Сравнение остатков по регистрам накопления

Свертка базы Платформа 1С v8.3 1С:Управление торговлей 10 Управленческий учет Абонемент ($m)

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

3 стартмани

27.03.2024    533    1    RustIG    0    

4

Свертка остатков по 41 счету в корреспонденции с 91 счетом

Свертка базы Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Абонемент ($m)

Обработка обращается к остаткам по счету 41.1 на дату, что выбрал пользователь, пробегается по ним и заполняет документ "Операция, введенная вручную".

1 стартмани

18.03.2024    345    5    config    3    

2

Свертка ЗУП 3.1 и ЗКГУ 3.1

Свертка базы Платформа 1С v8.3 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Абонемент ($m)

Вопрос, который мучает всех: в связи с развитием возможностей программ 1С размеры/объем очень быстро растут (уже объем пустой базы более 1 Гб) и не секрет, что чем "тяжелее" база, тем она медленнее работает. Для БП-3.0 разработчики 1С сделали вшитый типовой механизм свертки базы, суть которого вывести остатки по счетам на дату свертки и удалить все документы/движения до этой даты. А вот для ЗУП пока ничего подобного нет, а база растет быстрее, чем на дрожжах. Я долго анализировал и искал возможные решения для свертки ЗУП, поиск в интернете дал кучу различных вариантов. А когда начинаешь их рассматривать, в основном – только "перенос" среднего заработка, а остальное – "доделай сам". Только фирмы-франчайзи предлагают что-то более серьезное, но за хорошую плату.

5 стартмани

28.02.2024    1632    55    ivnik    33    

17

Свертка выбранных остатков

Свертка базы Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Абонемент ($m)

Обработка позволяет свернуть выбранные остатки по счету на выбранный счет.

1 стартмани

13.02.2024    289    4    medm    0    

3

Свертка ЗУП 3

Свертка базы Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Абонемент ($m)

Свертка ЗУП 3.1 по трем регистрам с возможностью чистки базы от документов движения и чистки сотрудников от уволенных.

5 стартмани

16.01.2024    1356    35    AlexHelmer    1    

6
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Tarlich 116 03.04.24 23:15 Сейчас в теме
Идея интересная ! Если выбираю документ могу выбрать какие именно регистры меня интересуют ? (Пример - что касается НДС вообще хочу обнулить) (Увидел - как говорится, или переносим все записи по регистру, или ничего (см. рис.))
Свертка в понимании пользователей - это так же уход от накопленных ошибок учета - пересорт по измерениям .
как я понимаю что данная свертка конечно свернет все как есть , но к примеру партии или взаиморасчеты по док расчетов - (как привило это и есть для многих основные регистры) часто хочется повесить на одну партию (для товара) или на один начальный док расчетов (для взаиморасчетов)
А как поведет себя регистр - накопленные скидки по продажам ?
Вижу основной плюс что можно частями делать , но опять же на примере - что мне даст только свертка реализации без других документов которые делают движения по тем же регистрам ?
Да Табличные части очищены - но эти все документы помеченные на уд будут висеть же - т.к на них будут ссылки .
Почему временные док Корректировок - не удалить бы сразу непосредственно ?
Andreev.a; +1 Ответить
2. RustIG 1619 04.04.24 08:44 Сейчас в теме
(1)
Если выбираю документ могу выбрать какие именно регистры меня интересуют ?

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

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

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

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

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

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

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

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

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


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

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

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