При работе с современными конфигурациями на базе ERP 2.5 и УТ 11.5 многие администраторы и разработчики сталкиваются с лавинообразным ростом объема базы данных. Часто при анализе таблиц выясняется, что более половины дискового пространства занимает один единственный регистр сведений — Детализация себестоимости партий товаров, постатейные и прочие затраты (периодический). Рассмотрим подробнее, почему это происходит, является ли это нормой и как мы можем оптимизировать хранение данных без потери важной информации.
Для начала проанализируем механику работы этого регистра. Он предназначен для хранения развернутых данных о том, из каких составляющих сложилась стоимость каждой единицы товара: цена закупки, логистические затраты, дополнительные расходы и налоги. В отличие от большинства других регистров, этот объект является периодическим с разрезом в один месяц.
Разберем по шагам процесс его заполнения:
Ситуация критически осложняется, если в настройках программы включена глубокая аналитика. Проанализируем факторы, ускоряющие рост:
Номенклатура + Серия + ГТД + Склад — это отдельный набор записей в регистре.Важно понимать, что не всегда гигантский размер — это следствие объема ваших торгов. Проанализируем ситуацию с технической точки зрения. Компания 1С признала наличие архитектурных проблем и зарегистрировала ошибки 00-00615103 и 00-00600916.
Суть этих ошибок заключается в следующем:
Для исправления ситуации мы рекомендуем в первую очередь обновить конфигурацию до последних релизов (начиная с 11.5.12 и выше) и обязательно установить доступные исправления (патчи EF_...), которые оптимизируют алгоритмы записи в данный регистр.
Рассмотрим вопрос, который больше всего волнует владельцев баз: можно ли просто удалить данные за прошлые годы? Чтобы ответить на него, нужно понимать роль этого регистра в системе.
Важный факт: Данный регистр не влияет на текущие остатки товаров, на взаиморасчеты с контрагентами или на итоговую сумму финансового результата в управленческом балансе. Он используется исключительно для формирования отчета «Анализ себестоимости товаров» (где можно ускорить формирование отчета Валовая прибыль) с детализацией по постатейным затратам.
Если мы решим произвести очистку данных, например, за 2021-2022 годы, последствия будут следующими:
Если размер базы стал критическим, выполним следующие действия для исправления ситуации:
Проанализируем необходимость ведения учета в разрезе ГТД и Серий для целей управленческой себестоимости. Если бизнес-процессы позволяют, отключение детализации по этим разрезам в настройках учета существенно замедлит рост регистра Детализация себестоимости партий товаров в будущем.
В новых релизах (начиная с 11.5.12) реализован механизм скользящего расчета. Проверим, включен ли он в вашей базе. Этот механизм позволяет системе не пересчитывать всю историю при изменении документов задним числом, что значительно снижает нагрузку на таблицы детализации.
Простое удаление записей из регистра через обработку не уменьшит физический размер файла базы данных (особенно в формате SQL или файловом 1CD). Выполним регламентные операции:
Тестирование и исправление удалим записи регистра за неактуальные периоды (например, старше 3-х лет)..dt и последующую загрузку в чистую базу, либо воспользуемся утилитой chdbfl.exe.Убедимся, что в системе установлены патчи, исправляющие запись нулевых значений. Рассмотрим пример логики, которую внедряет 1С в последних исправлениях: система перестает записывать строки детализации, если отклонение стоимости составляет менее определенного порога (например, 0.01 коп.), что экономит миллионы строк в масштабах года.
Ситуация, когда регистр детализации занимает 50-60% объема — это характерная особенность архитектуры 1С:УТ 11.5. Полностью «отключить» его без отказа от расчета себестоимости невозможно. Однако, соблюдая регламент обновления, устанавливая патчи и периодически архивируя данные старше 3-х лет, мы можем держать размер базы под контролем и обеспечивать высокую скорость работы системы.