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