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

27.10.24

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
АнализДокументовРегистров вер. 5.0 - Свертка
.epf 24,74Kb ver:5.0
15
15 Скачать (1 SM) Купить за 1 850 руб.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

свертка базы

См. также

SALE! 15%

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

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

8400 7140 руб.

20.08.2024    7765    55    22    

66

Перенос данных 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    171911    364    397    

334

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

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

6000 руб.

22.05.2024    2985    13    7    

22

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

Обработка свертки базы 1С УНФ 1.6 выполнена в виде расширения конфигурации, которое встраивается в вашу базу без снятия с поддержки, и адаптирована под релиз УНФ 1.6.

4800 руб.

20.04.2021    16878    51    34    

58

Свертка базы Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Разработка универсальна, работает на любой конфигурации, на версиях платформ 8.1 и 8.2. Исходные коды открыты. Усекаются сразу все разделы учета (регистры бухгалтерии, регистры накопления, регистры сведений). Разработка представляет из себя cf-файл с одним единственным документом: ЗакрытиеПериода. В нём содержится функционал как по заполнению, так и по очистке регистров. Так же для версии 8.2 возможна переброска данных в "чистую" базу нажатием одной кнопки.

4800 руб.

21.02.2011    109398    113    248    

303

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

Правила переноса остатков из конфигурации Бухгалтерия 3.0 в конфигурацию Бухгалтерия 3.0. Правила могут быть полезны для свертки рабочей базы документами "Ввод начальных остатков" или для перехода из типовой Бухгалтерии в отраслевую конфигурацию, основанную на ней, или для перехода с УСН на ОСНО.

2 стартмани

26.09.2024    479    16    kumi2012    7    

4

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

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

5 стартмани

18.09.2024    264    4    aserge93    5    

2

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

Представлена рабочая обработка для перехода на учет партий в учете запасов (не универсальная). Дополнительно расписана технология работы с документом ОперацияБух и с аналитиками учета (основная цель).

1 стартмани

19.08.2024    646    1    RustIG    5    

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

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

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

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

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

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

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

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

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

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


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

Да, пож-та - зависит от вашей задачи - ссылки можно заменить на какой-то документ, или же оставьте: сами ссылки не будут занимать много места, поскольку таких документов должно остаться мало после свертки.
11. RustIG 1747 05.04.24 14:01 Сейчас в теме
(1) просто отключите регистр ПартииТоваровНаСкладах и ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов, и все. Тогда информация по этим регистрам исчезнет по документам за выбранный период. Это самый простой способ.
12. RustIG 1747 05.04.24 14:58 Сейчас в теме
(11)Дополню свой ответ. Если тех.окно малое - то сворачиваем "как есть". Когда полностью свернули (за несколько итераций, несколько дней) можно применить классическую свертку - использовать спец. документ, например "Оприходование товаров" для выравнивания остатков по регистрам ТоварыНаСкладах и ПартииТоваровНаСкладах. Вот такой симбиоз я вижу.
7. Tarlich 116 04.04.24 09:37 Сейчас в теме
Ну еще из пожеланий - добавить удаление возможных помеченных документов - этот процесс может быть по времени дольше чем сама свертка , а из вершины чуда будет добавить удаление неиспользуемых справочников (хотя бы основные - номенклатура и контрагенты ) -))
8. RustIG 1747 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 1747 04.04.24 13:08 Сейчас в теме
13. RustIG 1747 08.04.24 15:17 Сейчас в теме
В моем алгоритме пока не используется пакетная обработка документов. В этой связи, есть где ускорить алгоритм - просто применить пакетную обработку документов (наработки по которой я применил в обработке удаления документов из другой своей публикации).
14. RustIG 1747 11.04.24 13:56 Сейчас в теме
11-04-2024г. Обновил алгоритм сворачивания записей по регистрам накопления. Убрал (а точнее закомментировал для истории) сворачивание с учетом видов движения "приход"/"расход". Например, для регистра ПартииТоваровНаСкладах результат сворачивания по такому принципу искажает исходную информацию. А для регистра ТоварыНаСкладах - в принципе подходит, но в общем случае закомментировал дополнительное сворачивание.
15. RustIG 1747 12.04.24 12:23 Сейчас в теме
Свертка базы не заканчивается на предложенной обработке.
К примеру есть документы в УТ "Закрытие заказов покупателей" - в табличной части которых заказы по разным организациям. На мой взгляд, это упущение и недоработка разработчиков типовых конфигураций. Типовые конфигурации надо разрабатывать так, чтобы легко было сворачивать остатки.
Так вот, документ "Закрытие заказов покупателей" не только не содержит разреза по Организации, но и содержит в табличной части заказы по всем организациям. Внедренцы сталкиваются с тем, что по данному документу-регистратору нельзя будет свернуть остатки в разрезе только одной Организации.
Сейчас сворачиваю базу - предложенная обработка помогает, но не закрывает потребности. Очень много приходится дополнительно программировать вспомогательных обработок.
16. RustIG 1747 18.04.24 12:21 Сейчас в теме
Удаление документов из базы по Организации - можно рассматривать как задачу по свертке, точнее частичной свертке. Есть документы, которые имеют реквизит "Организация", но делают движения по регистрам без разреза (без измерения) "Организация". Самый простой пример - это Реализация товаров - делает записи по регистру ПартииТоваровНаСкладах.
То есть просто так мы не можем удалить Реализацию по Организации - полетят остатки по регистру ПартииТоваров.
Оставьте свое сообщение