При проведении свертки информационной базы в конфигурации «Управление торговлей», редакция 10.3, часто возникает жесткое требование от заказчика или руководства: полностью удалить все документы за прошлые периоды до даты свертки. При этом помеченные на удаление или просто нераспроведенные документы не устраивают пользователя. Владельцы бизнеса хотят видеть «чистую» базу без исторической первичной документации.
Однако при попытке физического удаления документов возникает ключевая проблема: ссылки на исторические первичные документы выступают измерениями в ключевых регистрах накопления, таких как ТоварыПоПартиямНаСкладах, НДСПоПартиямЗапасов или регистрах взаиморасчетов. Если удалить документ, на который ссылается остаток партии, база выдаст ошибку битой ссылки вида <Объект не найден>, а механизмы списания себестоимости сломаются.
Рассмотрим подробно варианты решения этой задачи, проанализируем риски изменения структуры конфигурации и изучим безопасные способы очистки базы данных.
Разберем сначала идею, которая часто приходит в голову разработчикам: создать пользовательский справочник «Партии», перенести туда даты, номера и контрагентов из документов поступления, а затем изменить тип измерения ДокументОприходования в регистрах партионного учета с ссылки на документ на ссылку на созданный справочник.
Делать так категорически не рекомендуется по следующим причинам:
УправлениеЗапасами.СписатьПартииТоваров), рассчитывают на то, что измерение партионного регистра является именно документом. Смена типа данных потребует тотального переписывания стандартного кода программы.Рассмотрим более безопасный путь, который позволяет не менять структуру метаданных конфигурации, но при этом удалить все реальные старые документы за прошлые периоды.
Суть метода заключается в создании минимального количества «обобщенных» или технических документов на дату свертки и перепривязке всех остатков на эти новые документы.
ОприходованиеТоваров на дату свертки. Переносим в него все текущие остатки номенклатуры по складам и партиям. После этого программно или через документ КорректировкаЗаписиРегистров подменяем в измерениях регистров партионного учета ссылки со старых документов поступления на новый документ ОприходованиеТоваров.ДокументРасчетовСКонтрагентом (ручной учет). Сформируем по одному такому документу на каждую открытую позицию задолженности, перенеся туда дату и номер исходного документа поступления или реализации, и подменим ссылки в регистре взаиморасчетов.После того как ссылки в регистрах накопления и сведений перепривязаны к новым техническим документам, старые документы полностью освобождаются от ссылочной целостности и их можно безопасно удалить из базы стандартной обработкой Удаление помеченных объектов или программным вызовом УдалитьОбъекты().
Посмотрим на еще один компромиссный вариант, если клиент согласен оставить сам факт существования записей в списках, но требует полностью очистить их содержимое для уменьшения объема базы данных и исключения утечки коммерческой информации.
Проанализируем порядок действий при таком подходе:
СверткаИнформационнойБазы.epf.КорректировкаЗаписиРегистров и вводятся начальные остатки.Данный вариант прост в реализации, однако если заказчик выдвигает условие «в журнале документов за прошлый период должно быть абсолютно пусто», этот способ не подойдет.
Проанализировав практику свертки крупных информационных баз 1С:Управление торговлей 10.3, самым чистым и технически безупречным является способ переноса данных в пустую информационную базу.
План действий при переносе остатков в чистую базу:
.cf) рабочей базы.Номенклатура, Контрагенты, ДоговорыКонтрагентов, Склады, Организации и т.д.ОприходованиеТоваров — для восстановления остатков на складах по себестоимости.ВводНачальныхОстатковПоВзаиморасчетам или ДокументРасчетовСКонтрагентом — для фиксации задолженностей.Преимущества данного подхода очевидны: новая база данных полностью избавлена от битых ссылок, размер таблиц физически минимален, отсутствуют проблемы с реструктуризацией и скрытыми остатками в служебных регистрах. При этом в рабочей базе гарантированно не остается ни одного первичного документа за прошлые годы, а вся история при необходимости доступна в архивной базе.