Свертка баз. Новый взгляд

27.10.24

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

Представлены обработки для тестирования нового подхода свертки баз. Обработки разработаны на обычных формах, демонстрация проводится на конфигурации УТ 10.3.

Скачать файл

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

Наименование По подписке [?] Купить один файл
Конвертация документа в Корректировку
.epf 8,69Kb ver:1.0
1
1 Скачать (1 SM) Купить за 1 850 руб.
Объединение корректировок
.epf 10,29Kb ver:1.0
1
1 Скачать (1 SM) Купить за 1 850 руб.
Анализ документов и регистров
.epf 18,51Kb ver:2.0
2
2 Скачать (1 SM) Купить за 1 850 руб.

Всем привет!

Представляю две обработки для тестирования нового подхода свертки баз. Обработки разработаны на обычных формах, демонстрация проводится на демо-конфигурации УТ 10.3.82.1, платформа 1С: Предприятие 8.3.23.1865.

Законченная "технология от А до Я" будет представлена позже после проведения испытаний свертки и доработки инструмента до "универсального". Законченная технология будет представлять из себя обработку на базе обработки "Анализ документов и регистров".

Ниже, самое последнее видео демонстрирует промежуточную версию "Анализ документов и регистров, вер.3.0" - но она не будет представлена в данной публикации. В данной публикации представлена другая промежуточная версия - "Анализ документов и регистров, вер. 2.0" - данная версия не имеет параметра Организация - и предлагается только лишь для ознакомления с идеями.  

 

Проблематика

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

То есть, если Заказчик просит провести свертку базы - например, оставить последние 3 года, остальные 4 года удалить. А документов столько, что за одно технологическое окно в один выходной день вы успеваете распровести только один месяц по одной организации - значит придется "классическую" свертку повторять много-много 48 раз (12мес*4года = 48мес - это кол-во потраченных выходных, срок проведения работ => 4 выходных дня в 1 месяце => 48 мес / 4 = 12 мес = 1 год), то есть за год управитесь, не считая предварительных подготовительных работ, работ по сверке остатков после каждой классической свертки.

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

При этом, если вы используете специализированные документы, вроде "Оприходование товаров" или "Ввод начальных остатков по взаиморасчетам с контрагентами", тогда вы теряете информацию.

Например, ситуация у вас: регистр ТоварыНаСкладах и ПартииТоваровНаСкладах немного различаются по итогам. И вместо того, чтобы свернуть остатки через КорректировкиЗаписейРегистров и сохранить полное соответствие предыдущим итоговым остаткам, вы переносите остатки через ОприходованиеТоваров.

Тогда у вас остатки по регистрам ТоварыНаСкладах и ПартииТоваровНаСкладах начинают совпадать, но теряется точная информация о предыдущих итогах. То же самое с взаиморасчетами с контрагентами.

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

 

Риски подводных камней

Чужая незнакомая база, работают в базе нон-стоп, задействованы все разделы учета: товары, взаиморасчеты, НДС, многофирменный учет, авторезервы по заказам, автозакрытие заказов и что-то еще, что я упускаю из вида. В день по сотне документов поступлений и реализаций. Маркируемая продукция. ЭДО. Обмен с БП. С десяток фоновых заданий каждый час. Все завязано со всем. Распроведешь один документ, и остатки по всем регистрам посыпятся как карточный дом. 

 

Свобода выбора: есть ли альтернатива?

Альтернатива есть - менять классическую схему на что-то другое - и делить большую задачу на много мелких этапов - чтобы укладываться в ежедневное непродолжительное технологическое окно (условно ежевечерно имеется по 2-3 часа времени на свертку), растягивать свертку на пару месяцев вперед, выполняя ее шаг за шагом. Главное - понять, как еще можно сворачивать записи регистров накопления, например не целиком регистр на дату свертки, а по-документно - при этом будут задействованы только записи регистров этих документов. Оставшиеся документы и записи по регистрам (движения) сворачивать отдельно в другое время.

 

Новая схема свертки

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

Далее Корректировки можно объединить - при этом часть записей сгруппируются по наборам измерениям, а часть - и вовсе выйдет в ноль. Таким образом, можем локально проводить мини-свертки.

Общая схема представлена на рис. 1 ниже.

  • Замещение документов в Корректировку - происходит с помощью обработки "Конвертация Документа В Корректировку". При этом все движения документа переносятся в Корректировку (рис. 2 ниже).

В обработке выбираете документ и нажимаете кнопку "Выполнить". Для возможности сравнения движений документа и движений корректировки оставьте параметр "Очищать документы" пустым (!). 

Параметр "Очищать документы" можно не использовать ТОЛЬКО для сравнения регистров накопления, поскольку не подходит для регистров сведений. Точнее сказать, для регистров сведений требуется уникальность записей по измерениям и периоду, поэтому два документа (полученную Корректировку и исходный документ) с одинаковыми записями по регистрам сведений нельзя увидеть и сравнить. Для целей сравнения можно изменять периоды записей, но сейчас это не относится к заявленной теме. Остается на обсуждение. 

Если у вас в Корректировке есть реквизит "ДокументОснование" или другой реквизит для хранения ссылки на документ-основание, тогда укажите в поле "Наименование реквизита "ДокументОснование". В типовой Корректировке такого реквизита нет, поэтому можете игнорировать. В своей базе я такой реквизит создал для дальнейшего анализа и обработки.

  • Объединение или сложение Корректировок - происходит с помощью обработки "Сложение Корректировок" (рис.3 ниже). При этом для регистров накопления записи сворачиваются по измерениям, а для регистров сведений - остаются последние по дате записи для наборов измерений.

В обработке выбираете две Корректировки, нажимаете кнопку "Сложить/Объединить". Для сравнения движений всех трех корректировок оставьте параметр "Очищать документы" пустым. Параметр "Очищать документы" используется опять-таки только для сравнения регистров накопления, поскольку не подходит для регистров сведений.

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

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

Законченная "технология от А до Я" будет представлена позже после проведения испытаний свертки и доработки инструмента до "универсального". Законченная технология будет представлять из себя обработку на базе обработки "Анализ документов и регистров".

Ниже, самое последнее видео демонстрирует промежуточную версию "Анализ документов и регистров, вер.3.0" - но она не будет представлена в данной публикации. В данной публикации представлена другая промежуточная версия - "Анализ документов и регистров, вер. 2.0" - данная версия не имеет параметра Организация - и предлагается только лишь для ознакомления с идеями.  

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

Представляю два видео.

 
 Анализ документов перед проведением свертки

 

 

 

 
 Конвертация документов и объединение корректировок

 

 

 
 Проведение свертки базы по новой схеме

 

 

На этом все.

Всем добра! С пользой для клиентов, 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    7850    58    23    

69

Перенос данных 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    171997    365    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    3006    13    7    

22

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

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

4800 руб.

20.04.2021    16881    51    34    

58

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

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

4800 руб.

21.02.2011    109409    113    249    

303

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

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

2 стартмани

26.09.2024    484    16    kumi2012    7    

4

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

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

1 стартмани

19.08.2024    649    1    RustIG    5    

3

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

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

1 стартмани

03.04.2024    2898    15    RustIG    16    

17
Отзывы
5. RustIG 1747 11.01.24 23:37 Сейчас в теме
(1) в классической свертке вы берете итоги по всем регистрам, и вынуждены из-за этого распроводить все документы в базе за этот период. В предложенной схеме можно распроводить не все документы сразу, а столько сколько успеет программа , например, ежедневно по два часа.
baranchikov; maksa2005; +2 Ответить
3. RustIG 1747 11.01.24 23:28 Сейчас в теме
(1)классическую свертку надо делать в день технологического окна. По сути теряешь свой выходной, да еще косяки могут вылезти когда огромный набор регистров закрываете. А предложенный в статье метод позволяет запустить в фоне ежечасно ежедневно сворачивать документы и записи. При этом не все регистры сразу, а только те, которые запрограммировал на групповое сворачивание.
4. RustIG 1747 11.01.24 23:33 Сейчас в теме
(2) по каждому документу это для старта и тестов. В дальнейшем делается групповое сворачивание по видам документов и за период - делается одна корректировка со всеми наборами регистров. Только при этом не снимаются остатки, а берутся все записи по всем регистрам по всем выбранным документам за период. Итоги сворачиваются также в фоне групповой обработкой корректировок. Отличие от классики все же есть - остатки не считаем, работаем только с записями.
6. RustIG 1747 11.01.24 23:51 Сейчас в теме
(2)в классической свертке вы не можете свернуть только один регистр. Потому что его остатки формируют несколько видов документов-регистраторов. Начнете их распроводить? Сразу слетят остатки по связанным с документами другим регистрам. Поэтому по всем регистрам надо единовременно делать расчет остатков на дату, зафиксировать их в виде нескольких корректировок. И единовременно надо распровести всю базу до этой даты. Проблемы начинаются, когда база настолько огромна, что вы не в состоянии за ночь распровести один год по всем документам.
9. RustIG 1747 12.01.24 06:41 Сейчас в теме
(8) по вашему методу каждые три дня сворачивать ... Это не то... Никто не делает свертку вслепую... Всегда идет сверка остатков до свертки и после свертки человеком... В моем методе я не переношу остатки в корректировки, я просто группирую обороты по регистрам. И еще, в моем методе я начну работу с тяжеловесных документов - это поступления и реализации , в течение трех дней база сократится в разы больше, чем если сворачивать все документы за три дня по классике. Я сконцентрируюсь в эти три дня на тяжеловесных поступлениях и реализациях. Чем скорее база начнет уменьшаться в размерах, тем быстрее начнет проводиться сжатие базы, быстрее станет создание архивов, быстрее станет трансфер архива в облако. Первый видимый результат можно увидеть в первую неделю.
10. RustIG 1747 12.01.24 06:49 Сейчас в теме
(8) есть ещё один неприятный момент - как только вы начнете распроводить допустим реализации, у вас сразу начнёт расти база... И это уже катастрофа...если вы будете распроводить только реализации без зеркального распроведения документов-антагонистов (это поступление товаров, оприходование, перемещение, авансовый отчет), то база будет расти в размерах за счет увеличения виртуальных таблиц например ТоварыНа Складах
30. RustIG 1747 12.01.24 17:48 Сейчас в теме
(25) я планирую произвести замену самых тяжеловесных видов документов за год, за два, за три. Остатки не должны измениться. Самое узкое место в классической свертки - долгое распроведение документов - таким образом будет обойдено. Сворачивать обороты и остатки - думаю получится очень быстро , надо замерить, возможно хватит условно одного дня. В общем вторая проблема классической свёртки - невозможность поделить процесс на этапы - тоже решена.
91. RustIG 1747 30.01.24 20:38 Сейчас в теме
(90)оборотные регистры переносятся. Регистры расчета в ут нет, поэтому еще не тестировал. Пока протестировал свертку на ут. О результатах доложу позже.
Свёртку делал групповой обработкой с отбором по периоду и с отбором по организации. Будет статья и отдельная обработка.
94. RustIG 1747 31.01.24 12:42 Сейчас в теме
95. RustIG 1747 31.01.24 12:46 Сейчас в теме
(92) есть нюанс с периодическими регистрами сведений, у которых записи имеют ограниченный срок действия - см. картинку
Сейчас я этот нюанс отдаю на откуп внедренцам - чтобы они сами решили, как сворачивать такие записи.
Я наверное сделаю так - буду находить все такие регистры, и предлагать удалять записи с ограниченным сроком действия на момент свертки - поскольку на момент свертки они не актуальны. Останутся только актуальные записи, которые легко будет свернуть.
Прикрепленные файлы:
100. RustIG 1747 04.04.24 08:48 Сейчас в теме
(97)
В видео Анализ документов и регистров версия 3 ,для скачивания предложена версия 2.Мне нужна 3


Опубликовал версию 5.0 Свертка базы УТ 10.3 подокументно
Остальные комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. CheBurator 2712 11.01.24 22:38 Сейчас в теме
Нифига не понял.
"Корректировка останется, а документ можно распровести без потери остатков."
чем это в принципе отличается от классической схемы, в которой тоже надо распроводить старые документы.
Распроведение занимает много времени. Как раньше за день могли распровести всего месяц и не успеть сделать свертку, то и сейчас то же самое...
В чем цимус?
3. RustIG 1747 11.01.24 23:28 Сейчас в теме
(1)классическую свертку надо делать в день технологического окна. По сути теряешь свой выходной, да еще косяки могут вылезти когда огромный набор регистров закрываете. А предложенный в статье метод позволяет запустить в фоне ежечасно ежедневно сворачивать документы и записи. При этом не все регистры сразу, а только те, которые запрограммировал на групповое сворачивание.
5. RustIG 1747 11.01.24 23:37 Сейчас в теме
(1) в классической свертке вы берете итоги по всем регистрам, и вынуждены из-за этого распроводить все документы в базе за этот период. В предложенной схеме можно распроводить не все документы сразу, а столько сколько успеет программа , например, ежедневно по два часа.
baranchikov; maksa2005; +2 Ответить
2. CheBurator 2712 11.01.24 22:41 Сейчас в теме
И зачем по каждому документу делать замещающую корректировку (это жрет доп.время вдобавок к распроведению документов) а потом складывать? Не проще сразу по регистрам накопления снять остатки на дату свертки и сделать один (или несколько , разбивая на вменяемые порции) документ корректировки сразу?
4. RustIG 1747 11.01.24 23:33 Сейчас в теме
(2) по каждому документу это для старта и тестов. В дальнейшем делается групповое сворачивание по видам документов и за период - делается одна корректировка со всеми наборами регистров. Только при этом не снимаются остатки, а берутся все записи по всем регистрам по всем выбранным документам за период. Итоги сворачиваются также в фоне групповой обработкой корректировок. Отличие от классики все же есть - остатки не считаем, работаем только с записями.
6. RustIG 1747 11.01.24 23:51 Сейчас в теме
(2)в классической свертке вы не можете свернуть только один регистр. Потому что его остатки формируют несколько видов документов-регистраторов. Начнете их распроводить? Сразу слетят остатки по связанным с документами другим регистрам. Поэтому по всем регистрам надо единовременно делать расчет остатков на дату, зафиксировать их в виде нескольких корректировок. И единовременно надо распровести всю базу до этой даты. Проблемы начинаются, когда база настолько огромна, что вы не в состоянии за ночь распровести один год по всем документам.
13. ixijixi 1913 12.01.24 09:02 Сейчас в теме
(6)
в классической свертке вы не можете свернуть только один регистр. Потому что его остатки формируют несколько видов документов-регистраторов. Начнете их распроводить?
А зачем распроводить? Можно же просто один регистр (или несколько) по этому регистратору очистить. Когда все движения по регистратору будут пусты, то можно и распроводить, влияния на учет уж не будет. Разве не так?
15. RustIG 1747 12.01.24 09:48 Сейчас в теме
(13) идея хорошая, но есть много "но"... спасибо просто за то, что "думаете" и предлагаете "идеи"

вы предлагаете взять один регистр по одному виду документа-регистратора?
- а движения по регистру куда перенести? ...

так, то есть никуда не переносить движения по регистратору, а наоборот очистить движения по регистратору, оставить только остатки по данному виду регистраторов (например только по реализациям и по регистру ТоварыНаСкладах)?

остатки по регистру смотреть не в целом по всем регистраторам, а только по одному виду документа? такая идея?

- интересная идея, поскольку кажется что ее вполне легко реализовать как временный и разовый вариант.... Но насколько она трудоемкая в своем исполнении и реализуема ли вообще для всех документов и регистров - надо детально думать....

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

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

В мое методике не нужна инфраструктура для запоминания какие документы и по каким регистрам очищены.... Пока что сложно оценить плюсы и минусы "Неклассических" вариантов свертки. Но идея ваша интересна и вполне разово можно исполнить....

Еще мне кажется большой минус вашей идеи в том, что виртуальные таблицы ТоварыНаСкладах все равно вырастут - поскольку в них останутся записи документов-антагонистов, но исчезнут записи по Реализациям....
Получается, что идея мало подходит?!
16. RustIG 1747 12.01.24 09:56 Сейчас в теме
(13) еще важный момент - как получить остатки по регистру по одному документу-регистратору (по одному виду документа)? остатки по регистру можно получить только по измерениям, но не по регистраторам....
7. CheBurator 2712 12.01.24 04:57 Сейчас в теме
(6) заполняем корректировки по всем регистрам сразу, считывая тупо остатки, коррект ровки не проводим. Распроводим документы. Проводим корректировки.
.
Я так понял что основная проблема - длительность рас проведения документов. И твой метод тупо заменяет документ аналогом корректировкой. Что позволяет тупо корректировки вводить частично хоть по одной корректировке в день. И потом также можно частями постепенно консолидировать корректировки постепенно укрупняя консолидации.
.
Правда нифига непонятно за счёт чего будет суммарный выигрыш по свертке. Шта но свёртка заняла бы месяц, а так время ра, проведения останется тем же, к нему добавится время создания и проведения корректировок и последующей их консолидации. Итого получится не месяц, а два или три... Да, частями получится уложиться в окна рабочих дней - вот и весь профит.
Точно также можно и штатно наверное не сразу год сворачивать, а по месяцу или неделе штатно, вмешался в окно рабочих дней.
11. RustIG 1747 12.01.24 08:04 Сейчас в теме
(7)
заполняем корректировки по всем регистрам сразу, считывая тупо остатки, коррект ровки не проводим. Распроводим документы. Проводим корректировки.

у вас не получится так на больших базах

(7)
Точно также можно и штатно наверное не сразу год сворачивать, а по месяцу или неделе штатно, вмешался в окно рабочих дней.

и так тоже не получится ни на больших, ни малых базах
40. CheBurator 2712 14.01.24 00:33 Сейчас в теме
(11)
у вас не получится так на больших базах

с чего это не получится? один похер большая база или маленькая. Роль играет только количество остатков. Получится. Уж за один-то день можно такой шаг сделать. И так по каждому дню. Каждый день количество остатков будет примерно одинаковым, за счет убывания одних остатков и прибывания других. Количество остатков только будет медленно расти за счет зависших незакрытых остатков. А в тотально бардачных базах где незакрыто все - один фиг свертка мало что даст и смысла мало имеет.
.
так что пока что утверждения "не получится..." считаю необоснованными. Есть возможность пояснить - поясни развернуто.
50. RustIG 1747 14.01.24 02:24 Сейчас в теме
(40)я придерживаюсь мнения, что не получится. Исхожу из личного опыта и понимания процессов. Пояснять не буду, просто слов и времени не хватит теоретизировать на эту тему. Истина в практике. Готов принять на веру ваши слова, если скажете, что вы уже подобное делали, но спорить о том, что получится или не получится уже не надо. У каждого свое мнение и видение на этот вопрос. Может кто сможет нас с вами убедить в обратном, дискуссия открыта для всех.
56. CheBurator 2712 14.01.24 02:45 Сейчас в теме
(50) хз, возможно ты прав. я ж не восьмерочник. На клюшках описанным способом 10-12ГБ базы сворачивал в ленивом режиме с чаем и печенюшками часа 3-4. Существенную часть времени занимает распроведение и удаление документов даже при выключенных итогах (но это я делал еще на "старых" сервачных хардах, а не на SSD и на стром севрачном проце 2010г.). Пересчет итогов после этого идет быстро, так как надо считать уже не 7 лет, а всего 3.
.
и да, я поначалу тоже стремался, проверял по отчетам до свертки и после свертки, когда на 2-3 раз данные свопадали по отчетам - плюнул и больше не проверял во время свертки. чисто потом для развлечения себя смотрел - как и ожидалось 2+2=4. и нехрен было проверять.
.
а так хз... восьмерка может гораздо медленнее работает и тяжело ворочается, что 40 гиговую базу не свернуть за выходной день, пусть даже в два-три приема в разные выходные.. фиг знает, тебе виднее.
.
и как говорил выше - сворачивать в период технологического окна и в продакшене - подходы могут быть совсем разными.
.
По всякому - будет практический рабочий инструмент - будет хорошо...
Другое дело что со всякими свертками в 8-ке еще всякие аналитики в которых сидят документы из сворачиваемого периода, ка кэто склеится собственно с самой сверткой и надо ли что-то делать по таким аналитикам - хз...
61. RustIG 1747 14.01.24 03:17 Сейчас в теме
(56)по аналитикам думал уже. Классика не позволит вам свернуть период без понимания как сворачивать аналитики. В моем методе не надо сворачивать все регистры. Цель свёртки - уменьшить базу. Я нашёл способ уменьшить ее в разы, не прибегая к классической свертке базы. Уменьшение происходит за счет удаления табличных частей, за счет схлопывания записей- оборотов. Процесс уменьшения запускается в продакшене. Вопрос по сворачиванию аналитик может быть станет не интересен, после уменьшения базы в два-три раза. На видео я говорил, что часть регистров и документов исключаем из свертки по моей схеме.
70. CheBurator 2712 14.01.24 11:12 Сейчас в теме
(61)
Уменьшение происходит за счет удаления табличных частей, за счет схлопывания записей- оборотов.

при нормальной архитектуре базы ТЧ доки можно тупо и без свертки поудалять. И при классической свертке обороты ВСЕ удаляются нафиг, а не остается значительное количество при схлопывании (потому что неслопнувшихся будет достаточно много)...
71. CheBurator 2712 14.01.24 11:13 Сейчас в теме
(61)
что часть регистров и документов исключаем из свертки по моей схеме.

какие регистры исключаются - кто решает?
8. CheBurator 2712 12.01.24 05:03 Сейчас в теме
Проще тупо пойти аналогичным но более простым путём.
.
1. Читаем остатки в документ(ы) корректировки
2. Распроволим документы и предыдущие корректировки.
3. Проводим корректировки
.
1 и 2 и 3 делаем не сразу за весь период свертки, а шашками маленькими периодами, например по 3 дня, чтобы пп123 успели выполниться за окно времени. Отпадает необходимость консолидации корректировок. Отпадает необходимость свертки корректировок.
Профит. Можно тупо загнать в регламентный автомат и херачить авто по ночам.
9. RustIG 1747 12.01.24 06:41 Сейчас в теме
(8) по вашему методу каждые три дня сворачивать ... Это не то... Никто не делает свертку вслепую... Всегда идет сверка остатков до свертки и после свертки человеком... В моем методе я не переношу остатки в корректировки, я просто группирую обороты по регистрам. И еще, в моем методе я начну работу с тяжеловесных документов - это поступления и реализации , в течение трех дней база сократится в разы больше, чем если сворачивать все документы за три дня по классике. Я сконцентрируюсь в эти три дня на тяжеловесных поступлениях и реализациях. Чем скорее база начнет уменьшаться в размерах, тем быстрее начнет проводиться сжатие базы, быстрее станет создание архивов, быстрее станет трансфер архива в облако. Первый видимый результат можно увидеть в первую неделю.
41. CheBurator 2712 14.01.24 00:38 Сейчас в теме
(9)
Всегда идет сверка остатков до свертки и после свертки человеком...

фу, какая гадость. Прочитать остатки и записать их заново -а+а=0. Расхождений не бывает.
.
"просто группирую обороты по регистрам."
- а зачем нам тащить миллион оборотов, если нас интересует только в итоге 10000 остатков...
.
"И еще, в моем методе я начну работу с тяжеловесных документов - это поступления и реализации , "
хрень полная, в производственной конфиге самыми тяжеловесными будут совсем другие документы и требуется участие "оператора", что напрочь убивает идею максимально автоматизированного алгоритма.
48. RustIG 1747 14.01.24 02:07 Сейчас в теме
(41)Сергей, ну почему так сложно? Я все подробно написал, видео выложил.

1) Начинаем свертку, обновление или урезание базы, открываем отчеты по итогам, фиксируем общий остаток по кол-ву и сумме в разрезе склада. Делаем любые манипуляции с базой. Нормальный спец снова откроет отчет по итогам, сверит общий остаток по кол-ву и сумме в разрезе склада.
2) как вы получите 10000 записей остатков на дату при миллионе записей оборотов? Никак, такого невозможно. Если вы берете обороты и складываете их последовательно, вы придете как раз к 10000 записей остатков. Они схлопываются, сворачиваются, группируются в процессе сложения записей. Я на видео это наглядно показал.
3) в производственной конфе те же регистры, табличные части документов, и те же принципы разработки что в ут 10.3, и те же проблемы роста базы из года в год. И те же потребности уменьшать базу. Скажите, какой документ у вас тяжеловесный и почему его нельзя очистить , а движения скопировать в корректировку? Вы про какую конфу говорите? Я вам наглядно видео сделаю.
51. CheBurator 2712 14.01.24 02:25 Сейчас в теме
(48) 1. зачем? что там может не сойтись? 2+2 не будет 5.?
60. RustIG 1747 14.01.24 03:08 Сейчас в теме
(51)я понял , как вы рассуждаете. Поясню, в классике переносятся остатки по каждому регистру отдельно. Переносятся в отдельную корректировку. То есть регистры не увязаны между собой и тем более теряется связь с исходными документами регистраторами. Если ошибки были в учете, то они также переносятся при свертке в корректировке. Самая извечная и упоминаемая ошибка-пример, когда партии товаров не совпадают с товарными остатками. При этом такие итоги никому не нужны, руководство принимает решение, обнулить одни итоги, оставить вторые. Это полуавтоматический подход, классика этим страдает, что нельзя полностью уйти от ручных сверок человеком. Плюс есть мусор в остатках например во взаиморасчётах по закрытым договорам. Их никто не хочет переносить на новые договора. Составляется акт сверки, долги компенсируются за счет других договоров. Зачастую эти операции проводит бухгалтер. И передать результат ночной свертки заказчику не так просто. Они не поверят, что 2+2=4. Всплывёт вопрос , откуда здесь 5? И специалист начнет отматывать клубок назад, откуда эти итоги приросли, начнет рассказывать про косяки в учёте....
66. CheBurator 2712 14.01.24 10:54 Сейчас в теме
(60) и что? при свертке - задача свернуть базу, а не наводить порядок в учете. Это две совершенно разные задачи. И если при свертке наводить порядок - отчеты после свертки и до свертки покажут разные данные. И первый же вопрос будет - что за на?! со стороны ответсвенных пользователей, бо большинство из них даже не подозревает про кучу косяков в учете, а вы начнгете про косяки в учете рассказывать... так что "Это полуавтоматический подход, классика этим страдает, что нельзя полностью уйти от ручных сверок человеком." - совершенно неверное утверждение. Классика - автоматический подход, и ручные сверки РЕЗУЛЬТАТОВ сверки вообще вообще никак к процессу свертки и его правильности не относятся, так что это у вас при классике что-то там страдает, бо вы начинаете смешивать два совершенно разных процесса в один. Не надо шт складывать с килограммами, херня-с получится-с...
67. CheBurator 2712 14.01.24 10:59 Сейчас в теме
(60)
Переносятся в отдельную корректировку. То есть регистры не увязаны между собой

И что? Нормальная ситуация когда регистр взаиморасчетов никак не связан с регистром остатков. При классике сворачиваются все регистры одновременно и "связь" остается (или сворачивается один-два регистраа, который "самостоятельные", я например могу свернуть регистр заявок - он самый пухлый, и, допустим, самостоятельный, а остальные не трогать)
68. CheBurator 2712 14.01.24 11:06 Сейчас в теме
(60)
Они не поверят, что 2+2=4. Всплывёт вопрос , откуда здесь 5?

оттуда, откуда же был до сверртки. как было 5 так и осталось 5. Показываешь пару раз что как было 5 так и осталось 5 - тратишь на это час-два. Выставляешь счет по двойному/тройному тарифу, потому что наводить порядок и разбираться откуда 2+2=5 - задача ведущего учет, а не "моя"...
69. CheBurator 2712 14.01.24 11:09 Сейчас в теме
(60)
И передать результат ночной свертки заказчику не так просто. Они не поверят, что 2+2=4.

а у тебя при свертке вся кривизна автоматом уйдет? незакрытые договора автоматом зачтутся итд? и Заказчик после твоей свертки поверит что данные по отчетам разъехались и это правильно? Может у заказчика по незакрытым договорам судебные процессы идут... и их вообще трогать не надо было... ;-)
52. CheBurator 2712 14.01.24 02:27 Сейчас в теме
(48)
как вы получите 10000 записей остатков на дату при миллионе записей оборотов?

ну открой базу, посмотри сколько у тебя записей оборотов за три месяца например, и посмотри сколько записей по итогам на конец этих трех месяцев. Если бы колво итогов бвло соизмеримо с количеством записей - таблицы итогов нахрен не нужны были бы.
58. RustIG 1747 14.01.24 02:54 Сейчас в теме
(52)я понял, как вы рассуждаете, я же наглядно на видео показал, я обороты сжимаю до уровня записей остатков. Обороты схлопываются не платформой, а моим алгоритмом. При сложении корректировок кол-во записей по регистру уменьшается за одну операцию сложения.
59. RustIG 1747 14.01.24 02:56 Сейчас в теме
(52) вы прям хотите все детали разузнать, а я рассчитывал что люди начнут скачивать , изучать алгоритм, стоимость скачивания низкая , на мой взгляд , для интересующегося специалиста.
65. CheBurator 2712 14.01.24 10:51 Сейчас в теме
(59) нафейхоа? для большинства нужен работающий инструмент. Алгоритм либо работает, либо нет. Работает - используем, есть лишнее время/хобби/интересно - изучаем...
53. CheBurator 2712 14.01.24 02:29 Сейчас в теме
(48)
3) в производственной конфе те же регистры, т

да, но там самые тяжелые документы не ПН и РН. а сворачивать базы надо не обращаясь к частностям каждой базы. иначе смысл пропадает, сиди анализируй что где тяжелое и что в каком порядке сворачивать.
55. RustIG 1747 14.01.24 02:44 Сейчас в теме
(53)автоматизировать можно все что поддается описанию. К примеру можно проверять и выбирать наибольшие по количеству записей документы. У меня на видео наглядно видно, что программа сама их определяет и в разные периоды это разные документы. Но мне сейчас и это не важно. Важно другое, и я об этом писал также. Что мы можем уменьшать базу очень быстро за счет тяжеловесных документов. Я уже так делал в апреле, доказательства описал в статье, я удалил только табличные части документов, база стала на порядок меньше.
10. RustIG 1747 12.01.24 06:49 Сейчас в теме
(8) есть ещё один неприятный момент - как только вы начнете распроводить допустим реализации, у вас сразу начнёт расти база... И это уже катастрофа...если вы будете распроводить только реализации без зеркального распроведения документов-антагонистов (это поступление товаров, оприходование, перемещение, авансовый отчет), то база будет расти в размерах за счет увеличения виртуальных таблиц например ТоварыНа Складах
42. CheBurator 2712 14.01.24 00:43 Сейчас в теме
(10) фигня полная. корректировка пишет в регистры всю нужную инфу. и распроводятся до корректировки по всем документам (антогонисты они или не антогонисты нас вообще не интересует), рост за день или за мини-период свертки будет незначительный на фоне общего объема базы.
49. RustIG 1747 14.01.24 02:16 Сейчас в теме
(42)нет , это не фигня, речь идет о виртуальных таблицах, которые формируются за счет пересчета итогов, то есть платформа сама схлопывает записи основной таблицы по измерениям. Есть даже примеры плохой архитектуры кода, когда регистры накопления запрограммированы так , что по какому-то измерению итоги не выходят в ноль. Когда приход делаете по всем измерениям, а расход например не по всем. Итоги растут геометрически. База пухнет как на дрожжах.
12. vis_tmp 32 12.01.24 08:31 Сейчас в теме
Спасибо, очень интересный подход к свёртке больших баз!
14. RocKeR_13 1366 12.01.24 09:41 Сейчас в теме
В самом начале работы доводилось применять другой подход, который впоследствии встретил на просторах Инфостарта: суть его в том, чтобы в чистую базу перенести НСИ и заполнить документы ввода начальных остатков с использованием правил конвертации данных. Здесь, конечно, нужно будет попотеть над правилами и над составом переносимых данных, но зато такая свертка будет более предсказуема, так как на этапе разработки правил уже придется продумать как и какие данные будут переноситься. Теоретически, можно продумать правила переноса документов и НСИ, чтобы можно было параллельно с переносом остатков в чистую базу работать в старой базе: после окончания переноса основной массы данных с помощью этих правил можно догрузить новые документы.
17. RustIG 1747 12.01.24 10:10 Сейчас в теме
(14) это подходит для небольших баз. Плюс если нет обмена с БП, например, иначе придется заниматься трансфером идентификаторов всех справочников и регистров сведений. Затем проверять и отлаживать обмен УТ-БП.
Я в течение года отлаживал 5ть обменов по каждой фирме из одной УТ в 5 БП. После каждого обновления БП снова проверка 5ти обменов.
Нет уж...
То есть, когда нет "того", нет "сего", нет "третьего", то любые варианты рассматриваются...
Как только появляется "то" или "се", а потом и "третье" - то уже начинаешь думать - а получится ли провести свертку гладко и без задоринки - появляются риски, что где-то все-таки случится косяк, и самое трудоемкое потом восстанавливать работоспособность и исправлять косяки...
Знаете, я ведь по классике сворачивал небольшие базы, также делал как вы описали - только не новую базу брал, а копию - создавал Корректировки по остаткам, удалял все документы - оставались справочники, независимые регистры сведений, идентификаторы обмена. Пока удалялись документы (за период) в копии, в рабочей базе пару дней все работали. Далее копию делал "рабочей" - а из рабочей базы конвертировал документы за пару дней работы.

На мой взгляд это относится к классическому варианту свертки. Применим до сих пор для небольших баз. Описан в первой статье, посвященной свертке (ссылка есть в данной статье).
18. RocKeR_13 1366 12.01.24 10:20 Сейчас в теме
(17) регистр публичных идентификаторов для НСИ без проблем можно сконвертировать. Но, действительно, подход с правилами для больших баз не пробовал применять, так что по скорости такого переноса ничего сказать не могу. На небольших базах точно был намного быстрее штатной свертки (именно в плане непосредственного выполнения свертки) + позволял действительно "отрезать" ненужную часть данных. А по рискам...ну так и вы признаете, что в вашем подходе они тоже есть и в этом полностью вас поддерживаю: учесть на 100% все нереально, либо займет непозволительно долго времени (опять же теоретически, не знаю, насколько практически это возможно))).
20. independ 1551 12.01.24 10:39 Сейчас в теме
(17) я свое время отказался от типовой синхронизации
https://infostart.ru/1c/tools/1683341/
19. independ 1551 12.01.24 10:28 Сейчас в теме
(14) я так и сделал, https://infostart.ru/1c/tools/2005462/
в начале года у 2-х клиентов свернул базы Розницы переносом НСИ и остатков в новую базу (новой версии), и еще в одной организаций сделал переход с УТ 10.3 (учет велся с 2015) на Розницу. И в этой организации сейчас идет адаптация т.е. что делается в УТ, потом информация (НСИ, номенклатура, документы) переносится в Розницу, но основной учет (продажи, ЕГАИС и маркировка) уже работают в Рознице.
Плюс получилось быстро создать РИБ на торговых точках
23. RustIG 1747 12.01.24 11:28 Сейчас в теме
(19) сразу видно, вы мастер по обменам :)
independ; +1 Ответить
24. independ 1551 12.01.24 11:32 Сейчас в теме
(23) главное анализ того, что нужно перенести, а все остальное несложно. Ну и да у моих клиентов простой учет.
21. aximo 2100 12.01.24 11:21 Сейчас в теме
Добавлю свои 5 копеек - я бы не стал связываться с корректировками в ут 10.3 )))))
22. RustIG 1747 12.01.24 11:27 Сейчас в теме
(21) загадочный наш Аксимо, почему же не стали бы? :) Я вот много лет их юзаю, протестировал обработки из статьи - все хорошо работает... Единственное, надо запретить их изменять всем, кроме себя - только те корректировки, которые использовались при свертке. Остальные пож-та в открытом периоде. Это дополнительно и легко делается.
26. RocKeR_13 1366 12.01.24 15:26 Сейчас в теме
(22) Ага, есть у нас один клиент, который любил корректировки в Комплексной вводить. Ну вот навводили корректировок по регистру СвободныеОстатки, а потом 1С успешно грохнула его и пошла свистопляска с остатками и конвертацией этих корректировок))
29. RustIG 1747 12.01.24 17:44 Сейчас в теме
(26) понятно, это все решаемо. Есть обработка Анализ документов и регистров. Она покажет все такие корректировки, и какие регистры задействованы. Перед обрезкой или сверткой базы можно обсудить с клиентом, что делать с этими корректировками.
88. RustIG 1747 23.01.24 14:59 Сейчас в теме
(21)
я бы не стал связываться с корректировками

это ключевой момент технологии
- поскольку в других конфигурациях также будут задействованы
Корректировки записей регистров
25. ManyakRus 489 12.01.24 13:33 Сейчас в теме
Легче сделать 12 раз по 1 месяцу, чем 365 раз по 1 дню.
После каждой микро-свёртки надо вручную проверять остатки по всем регистрам и др.
В общем плохое предложение тут.
27. RustIG 1747 12.01.24 16:05 Сейчас в теме
(25)
Легче сделать 12 раз по 1 месяцу, чем 365 раз по 1 дню.
После каждой микро-свёртки надо вручную проверять остатки по всем регистрам и др.
В общем плохое предложение тут.

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

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

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

И ждите видео, нагляднее будет.
28. RustIG 1747 12.01.24 16:07 Сейчас в теме
(25)
Легче сделать 12 раз по 1 месяцу

Видимо у вас есть кому это делать, раз так легко пишите.
Человек, который сам делал свертку, 12 раз по 1 мес делать не станет.
Как говорится, кто тут ученый, а кто копченый.
30. RustIG 1747 12.01.24 17:48 Сейчас в теме
(25) я планирую произвести замену самых тяжеловесных видов документов за год, за два, за три. Остатки не должны измениться. Самое узкое место в классической свертки - долгое распроведение документов - таким образом будет обойдено. Сворачивать обороты и остатки - думаю получится очень быстро , надо замерить, возможно хватит условно одного дня. В общем вторая проблема классической свёртки - невозможность поделить процесс на этапы - тоже решена.
32. shard 281 13.01.24 08:46 Сейчас в теме
(30)
Есть предложение любой документ заменить на документ "Корректировка записей регистров". Корректировка останется, а документ можно распровести без потери остатков

Самое узкое место в классической свертки - долгое распроведение документов - таким образом будет обойдено

Похоже на противоречие. За счет чего очищаются движения документов, преобразовываемых в корректировку?
Замещение документов в Корректировку - происходит с помощью обработки "Конвертация Документа В Корректировку". При этом все движения документа переносятся в Корректировку

Перенос движений - как он происходит? Даже если предположить что при выбранном подходе в записях (движениях) регистров меняется существующий регистратор на документ корректировки, то будет три записи (события) в регистр: запись общей суммы приходов, запись общей суммы расходов и запись итоговой свернутой суммы. В классической свертке сразу пишется итоговая свернутая сумма. Чего-то я не понимаю, солидарен с (7)
33. RustIG 1747 13.01.24 09:15 Сейчас в теме
(32)
Похоже на противоречие. За счет чего очищаются движения документов, преобразовываемых в корректировку?


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


(32)
Перенос движений - как он происходит?

Пожалуй, лучше покажу на видео.
Сегодня ждите
35. RustIG 1747 13.01.24 13:34 Сейчас в теме
31. RustIG 1747 12.01.24 18:23 Сейчас в теме
(25)
Легче сделать 12 раз по 1 месяцу
по выходным, да?
в представленной методике - можно в рабочие дни заниматься вопросом.
34. shard 281 13.01.24 13:34 Сейчас в теме
(31) в моей практике однажды было, что пока обрабатывались 2 корректировки регистров, отвечающие за остатки (проведение актуального и распроведение неактуального, общее время порядка 7 минут) один шустрый менеджер успел выставить счет клиенту на фактически отсутствующий на складе товар, дозвониться менеджеру клиента и чуть ли не получить оплату счета. Очень хороший менеджер по продажам, мда...
36. RustIG 1747 13.01.24 13:36 Сейчас в теме
(34) в предложенной схеме - конвертация документов и объединение корректировок не изменяют остатки - у вас больше таких проблем не будет. Но вам удастся быстро уменьшить размер базы. Выложил видео - смотрите пож-та.
37. shard 281 13.01.24 16:44 Сейчас в теме
(36) Кажется понял идею. За счет фрагментации до документа сворачиваемых данных - будет хорошо отрабатывать в рабочее время, особенно при высокой степени совпадения движений разного знака у пары документов (например пары заказ клиента - реализация по РН заказов клиента). Но общее число операций записи в базу увеличится конечно, а за ним и общее время свертки. Надеюсь работе пользователей не будут мешать транзакции при свертке записей РН остатков товаров или взаиморасчетов. Стал бы сам такое применять - сомневаюсь, в последний раз предпочел единовременно записать остатки по РН в документ корректировки, средствами sql очистить ненужные движения а потом средствами sql же установить пометки удаления (Примерно 10 лет за пару часов вышло, количество документов не считал).
38. RustIG 1747 13.01.24 17:02 Сейчас в теме
(37) вы сейчас описали классическую свертку для клиент-серверной базы .
У вас технологическое окно сколько часов было? И какой объем базы изначально был?

Вообще предложенная схема из статьи работает там, гле классическая свертка не может быть применена.

Я изначально столкнулся с задачей на файловой базе (я писал об этом в других статьях). Файловая база весила 40 Гб. Любое распроведение документов приводило к увеличению размеров виртуальных таблиц регистров накопления и база переставала открываться. Плюс время распроведения на файловой - очень длительное. Плюс еженедельно база прирастала на несколько десятков Мб. Времени до полного аута оставалось месяц-два. Перейти на клиент-серверный режим нельзя было сразу - поскольку были доработки, приводящие к ошибкам при работе в клиент-серверном режиме - надо было разобраться и переписать код.

И я думаю для клиент-серверных баз предложенная в статье схема также сработает. И даже быстрее и без конфликтов блокировки.

(37)
общее число операций записи в базу увеличится конечно, а за ним и общее время свертки. Надеюсь работе пользователей не будут мешать транзакции при свертке записей

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

Я не вижу проблем. Но еще раз повторяю - после проведения испытаний будут даны замеры времени и уменьшения размеров базы.
39. shard 281 13.01.24 23:55 Сейчас в теме
(38) Файл данных (.mdf) примерно 150гб. Номенклатуры порядка 150-200к элементов (научили деятелей грузить все подряд). Также желательно было совместить свертку с переводом на онлайн-взаиморасчеты (ут11). После свертки и включения онлайн-взаиморасчетов файл данных стал около 80гб. Технологическое окно - примерно 88 часов (выходные+праздник), использовано порядка 8-10 часов (без учета написания обработок). Франчи, которых руководство считало прямо суперменами 1с (контора достаточно на слуху, но не 1бит), на работы (без учета написания обработок) закладывали примерно месяц. Ситуацию усугубляло некорректное закрытие регистров накопления, что например приводило к накоплению ошибочных записей в итогах РН заказов клиентов (порядка 700к лишних записей).
В вашем случае я бы попробовать перевести базу в sql для свертки, а потом вернуть к файловому варианту. Судя по публикации https://infostart.ru/1c/articles/1838362/ проблема была известна с апреля ;)
46. RustIG 1747 14.01.24 01:45 Сейчас в теме
(39)база переведена в клиент-серверный режим после отладки всех ошибок в конце апреля. База работает до сих пор, замечаний нет. С апреля по сей день я думал над задачей, как правильно и красиво уменьшить базу, свернуть записи за прошлый период. Результат умственных изысканий представил в виде статьи. В планах провести свертку описанной схемой.
47. RustIG 1747 14.01.24 01:51 Сейчас в теме
(39)к сожалению, сложно оценить ситуацию и тем более сравнить со своей. Тот случай, когда ответ не проясняет , а наводит на дополнительные расспросы. Ладно, оставим это. Спасибо за комменты.
44. CheBurator 2712 14.01.24 00:53 Сейчас в теме
(38)
Плюс время распроведения на файловой - очень длительное.

я надеюсь, ты отключал на это время расчет итогов...?
45. RustIG 1747 14.01.24 01:38 Сейчас в теме
(44) я пробовал и так, и так. Расчет итогов очень хитрая штука. Надо хорошо знать последствия его отключения. И заранее никто не знает , как будет быстрее: пересчитывать итоги сразу, или после перепроведения пачки документов. Расчет итогов это не самое узкое горлышко и не самое слабое звено цепи. Я уже многократно писал, что при распроведении геометрически растут записи таблиц регистров. Для переполненной базы это катастрофа. Пересчет итогов уже не так важен.
54. CheBurator 2712 14.01.24 02:32 Сейчас в теме
(45)
Я уже многократно писал, что при распроведении геометрически растут записи таблиц регистров.

ясен пень. поэтому чтобы не ролсли - отключаем нафиг итоги.
.
ну и определяемся - мы свертку хотим делать в короткие окна (ночь, 2-3 часа, итд), или во время работы базы в продакшене...?
.
57. RustIG 1747 14.01.24 02:50 Сейчас в теме
(54)год назад я думал что не получится уйти от классической свёртке... Сейчас думаю иначе, могу уменьшать базу в продакшене, ушел от классики. Исходные данные описаны в статье: база незнакомая, мы не знаем есть косяки в остатках или нет, тех. Окно малое для классики, то есть свертку за год нельзя делать. База большая и работают в ней практически постоянно, то есть вы проснулись, а в ней уже кипит работа, в ней закончили работу, а вы уже спать собираетесь. Работа по ночам возможна, но исключается, как фактор выгорания, и фактор того, что утром есть другая своя работа.
62. CheBurator 2712 14.01.24 04:26 Сейчас в теме
(57) а какая разница для свёртки есть косяки в базе или нет?
63. RustIG 1747 14.01.24 07:58 Сейчас в теме
(62) технически разницы нет, ошибки в оборотах отразятся в итоговых остатках. Есть нюансы, когда например учет велся по двум измерениям, а по итогу года нужно свернуть по одному регистру. Пример учет взаиморасчетов по договорам + заказам. Остатки надо собрать только по договорам. Второй неприятный момент, когда исправления учетных данных происходит уже в закрытом периоде, приходится вручную изменять остатки на начало года. Это для свертки на начало года. Я хочу сказать, что свертка не заканчивается ночной операцией переноса остатков и распроведением документов. Потом подключаются завскладом и бухгалтер и начинают крыжить остатки, могут через месяц позвонить попросить поправить остатки.... Косяки есть косяки, преследовать будут долго...
74. CheBurator 2712 14.01.24 11:19 Сейчас в теме
(63)
Есть нюансы, когда например учет велся по двум измерениям, а по итогу года нужно свернуть по одному регистру

- вполне стандартная ситуация, делал и такое, две фирмы сливал в "одну" - когда для клиента учет по фирме не важен, важен только по "холденгу"... Работы такого рода напрямую к свертке не относятся и делаются частным образом по частным задачам.
75. CheBurator 2712 14.01.24 11:24 Сейчас в теме
(63)
Я хочу сказать, что свертка не заканчивается ночной операцией переноса остатков и распроведением документов. Потом подключаются завскладом и бухгалтер и начинают крыжить остатки, могут через месяц позвонить попросить поправить остатки.... Косяки есть косяки, преследовать будут долго...

- свертка как раз заканчивается. Это тупая технологическая операция.
а по РЕЗУЛЬТАТАМ свертки, если они кому-то интересны, начинается работа совершенно других лиц по инвентаризации учета, это совершенно другая задача. Причем что странно, вот до свертки никого порядок в учете не интересовал, а после сверкти прямо вот капец как ВСЕГДА ВСЕ сразу бросаются инвентаризировать учет... ;-)
64. RustIG 1747 14.01.24 08:01 Сейчас в теме
(62)для стороннего исполнителя любой нюанс важен для оценки и планирования работ. Для штатника наверное не важно, будет тушить пожар по мере необходимости.
76. CheBurator 2712 14.01.24 11:28 Сейчас в теме
(64)
для стороннего исполнителя любой нюанс важен для оценки и планирования работ.

согласен. ну так при оценке работ по свертке и определяемся - нам базу свернуть или косяки убрать? или и то и другое? если, например, я сам как технический специалист, начну убирать косяки учета - у Заказчика может вообще весь фин результат слететь по себестоимости или еще какой-нить фигне - да меня после этого распнут.. так что косяки - да, "преследовать будут долго" и устранять их - если это предусмотрено планом работ - совместно с ответсвенным исполнителем, а ответсвенные исполнители всегда заняты... так что растягивается это надолго и стоит для клиента дорого, бо за такую работу почасовку (условно) брать - себе в ногу стрелять. Месяу на работу по косякм, цена - миллион. месяц отвественный исполнитель ВДРУГ оказался занять - сорри, второй месяц - еще миллион...
43. CheBurator 2712 14.01.24 00:51 Сейчас в теме
72. CheBurator 2712 14.01.24 11:13 Сейчас в теме
Почитаю еще раз на досуге, повтыкаю...
73. CheBurator 2712 14.01.24 11:17 Сейчас в теме
И про доки-регистраторы при твое твоей свертке не понял... у каждого оборота свой док-регистратор. При схлопывании оборотов - остаток схлопнувшегося оборота на каком доке-регистраторе повиснет (если обороты схлопнулись неполностью не +100-100, а +100-80, например) Это я к фразе ".. и тем более теряется связь с исходными документами регистраторами." -не понял мысль по ней...
77. CheBurator 2712 14.01.24 12:34 Сейчас в теме
И у тебя неверный взгляд на штатника. Пожар тушится когда он есть. Первая задача штатника - обеспечить себе спокойную жизнь. Поэтому у всякая хрень выпиливается по возможности сразу, обкладывая всякими примочками, приблудами и защитами возможные неверные действия пользователей, чтобы проблем возникало как можно меньше.
А то как ты описал - это как раз удел всяких фрилансеров, франчей и прочих отсосеров - к которым заказчик обращается когда жпс уже наступила или стучится в дверь.
78. CheBurator 2712 14.01.24 12:44 Сейчас в теме
И идея ДОПОЛНИТЕЛЬНО нагружать нон-стоп работающую базу постоянными подокументными пересчетами итогов (при распроведении документа и при проведении корректировки, а потом еще и сворачиванеием корректировок) - ну так себе идея, вместо того чтобы делать классические минисвертки в технологическое окно (за день целиком, за неделю - то что умещаетяс в окно).
79. CheBurator 2712 14.01.24 12:55 Сейчас в теме
И приходы с расходами по оборотам сворачиваться в общем случае будут плохо. Приход большой в один день и много расходов мелких в другие дни. Фиг что хорошо сворачиваться будет. Хорошо свернется только если период такого сворачивания брать пишите, но это ломает саму идею описанную в топике. Имеет смысл за день консолидировать обороты и по ом уже сворачивать. Скорее всего в топике примерно так и делается, но из описания это неявно.
80. KVIKS 425 15.01.24 11:18 Сейчас в теме
А работать с копией базы совсем нереально? Лучше взять копию, обрезать как надо в спокойном режиме и потом загрузить в нее разницу в документах и подменить рабочую.
87. RustIG 1747 23.01.24 14:47 Сейчас в теме
(80)
подменить рабочую.

только не с большими базами, которые с обменами, регл. заданиями... выше уже отвечал на подобный вопрос более широко
81. KVIKS 425 15.01.24 11:29 Сейчас в теме
А если уж сильно хочется использовать корректировку регистров, то я в таком случае сворачивал бы не документ к документу, а все движения за месяц. Вряд ли кто то будет проверять аналитику на одно число, обычно ее анализируют за месяц. Тем самым количество записей в регистре будет меньше в 30 раз.
86. RustIG 1747 23.01.24 14:45 Сейчас в теме
(81)
если уж сильно хочется использовать корректировку регистров, то я в таком случае сворачивал бы не документ к документу, а все движения за месяц


у вас есть уже алгоритм? думаю, что нет... :(
я уверен, что у вас не получится отделить один регистр и сворачивать только его....
82. vadim1011985 101 16.01.24 01:36 Сейчас в теме
Лично я вижу проблему когда в регистре будет ссылка на другой документ - например документ партии , и как пить дать где-нибудь в коде в запросе будет чтение движений этого документа , а так как Вы движения перенесли в корректировку то хрен что прочитается и возможно будут ошибки.
85. RustIG 1747 23.01.24 14:43 Сейчас в теме
(82)
я вижу проблему когда в регистре будет ссылка на другой документ

есть решение - опишу его в другой статье
А вы молодец! что увидели это - сразу видно,что вы думающий человек...
83. aleksey2 88 16.01.24 15:07 Сейчас в теме
а если почистить прикрепленные файлы то и свертка не нужна, база уменьшится в 10 раз...
84. RustIG 1747 23.01.24 14:42 Сейчас в теме
(83) прикрепленных файлов нет и не было :)
89. Rafael-87 67 27.01.24 16:13 Сейчас в теме
Интересная идея - прошу прощения не читал полностью все комментарии, вопросов возникло два
90. Rafael-87 67 27.01.24 16:17 Сейчас в теме
1. Оборотные регистры и регистры расчета не переносятся в корректировку? Ибо нет смысла и для оптимизации
2. Обработки Конвертация и Суммирования содержат единичные варианты или групповой вариант присутствует?, например с ограничением за период или с отбором по организации. Или я что-то упустил?
91. RustIG 1747 30.01.24 20:38 Сейчас в теме
(90)оборотные регистры переносятся. Регистры расчета в ут нет, поэтому еще не тестировал. Пока протестировал свертку на ут. О результатах доложу позже.
Свёртку делал групповой обработкой с отбором по периоду и с отбором по организации. Будет статья и отдельная обработка.
92. Rafael-87 67 31.01.24 10:03 Сейчас в теме
(91) Как это в групповой обработкой? Вы применили свою обработку в групповой обработке?
93. RustIG 1747 31.01.24 11:15 Сейчас в теме
(92) я сложил 1 + 1, получил 2.
я представил здесь три отдельные обработки - на таких простых обработках можно легко отлаживать алгоритмы.
я вам больше скажу, когда я объединил их и запустил групповую обработку документов - стали выходить ошибки, которые сложно было отловить на групповой обработке - но зато легко было моделировать ситуацию и тестить на простых базовых обработках.
В общем я дополнительно разработал на базе этих трех обработок одну - но не описал ее и нигде пока не представил. Так вот в ней собраны алгоритмы из этих обработок.
Групповая обработка - это обработка документов пакетом - то есть это "процесс", а не "файл". Слово обработка имеет два значения - обработка материалов и внешний файл-обработка. Мы по ходу дела по разному используем это слово.
94. RustIG 1747 31.01.24 12:42 Сейчас в теме
95. RustIG 1747 31.01.24 12:46 Сейчас в теме
(92) есть нюанс с периодическими регистрами сведений, у которых записи имеют ограниченный срок действия - см. картинку
Сейчас я этот нюанс отдаю на откуп внедренцам - чтобы они сами решили, как сворачивать такие записи.
Я наверное сделаю так - буду находить все такие регистры, и предлагать удалять записи с ограниченным сроком действия на момент свертки - поскольку на момент свертки они не актуальны. Останутся только актуальные записи, которые легко будет свернуть.
Прикрепленные файлы:
96. Rafael-87 67 31.01.24 13:15 Сейчас в теме
(95) Ну такие записи можно и вручную потом обработать как надо, главное это как можно менее геморрно свернуть то что должно быть свернуто ..
97. inw 03.04.24 08:52 Сейчас в теме
Добрый день! В видео Анализ документов и регистров версия 3 ,для скачивания предложена версия 2.Мне нужна 3 версия ,где взять?
98. RustIG 1747 03.04.24 09:40 Сейчас в теме
(97)
Добрый день! В видео Анализ документов и регистров версия 3 ,для скачивания предложена версия 2.Мне нужна 3 версия ,где взять?


Версия 3 - представляет из себя полноценную обработку для проведения свертки. Ожидайте, пож-та, скоро выложу в виде отдельной публикации. Сообщу вам сразу.
100. RustIG 1747 04.04.24 08:48 Сейчас в теме
(97)
В видео Анализ документов и регистров версия 3 ,для скачивания предложена версия 2.Мне нужна 3


Опубликовал версию 5.0 Свертка базы УТ 10.3 подокументно
Оставьте свое сообщение