Переход с устаревших редакций программ 1С (например, с Бухгалтерии предприятия 2.0) на современные (Бухгалтерия предприятия 3.0) часто сопровождается предварительной сверткой базы данных. Это делается для уменьшения объема данных и ускорения работы системы. Однако нередко возникает ситуация, когда после успешного обновления и перехода на «тройку» Помощник закрытия месяца начинает требовать перепроведение документов и закрытие периодов, которые были свернуты. Попытка выполнить эти требования приводит к печальным последствиям: остатки, введенные документами свертки, «разъезжаются», а учет за текущий год становится недостоверным.
Разберем детально, почему так происходит и как «объяснить» программе, что периоды до свертки трогать не нужно. Рассмотрим несколько уровней решения проблемы: от простых манипуляций в интерфейсе до правки служебных регистров.
Проанализируем ситуацию: 1С:Бухгалтерия 3.0 использует сложный механизм зависимостей между документами и регламентными операциями. Этот механизм строится на графах зависимостей и последовательностях. После перехода с версии 2.0 или выполнения свертки связи между объектами могут нарушиться. Система видит, что за прошлые периоды (например, декабрь 2021 года) существуют регламентные операции, которые не отмечены как выполненные или актуальные. Поскольку закрытие месяца — это цепочка, 1С не позволяет закрыть январь 2022 года, пока не будет «зеленым» декабрь 2021-го. Для решения этой проблемы можно использовать расширение для игнорирования закрытия месяцев прошлых периодов.
Это самый важный этап, который часто упускают при ручной свертке или типовом переносе. Программа должна четко понимать, с какого момента начинается «новая жизнь» базы данных. Рассмотрим, как это настроить.
ДатаВводаНачальныхОстатков.Установка этой даты дает системе сигнал, что все расчеты до указанного момента считаются корректными и зафиксированными документами ввода остатков. Это отсекает необходимость проверки более ранних периодов для большинства учетных механизмов.
Даже при установленной дате начала ведения учета, Помощник закрытия месяца может хранить «кэш» ошибок прошлых лет. Выясним, как очистить эти «фантомные» требования.
Проанализируем работу регистра сведений НеактуальныеРегламентныеОперации. В этом регистре система хранит записи о том, какие операции требуют перезакрытия из-за изменения первичных документов. Если база была свернута, ссылки на старые документы могли остаться в этом регистре, вызывая требования системы.
Выполним следующие действия:
НеактуальныеРегламентныеОперации через функции технического специалиста.Если после манипуляций с регистрами Помощник закрытия месяца все еще подсвечивает декабрь красным цветом, нам необходимо изменить состояние самих документов РегламентнаяОперация. Заходить в каждый месяц и нажимать кнопку вручную — долго и неудобно. Рассмотрим более эффективный способ.
Воспользуемся обработкой «Групповое изменение реквизитов»:
Состояние и установим ему значение Выполнено или воспользуемся специальным флагом для пропуска.В коде это выглядит примерно так (логика изменения состояния):
Для Каждого ТекОперация Из СписокОпераций Цикл
ОбъектОп = ТекОперация.ПолучитьОбъект();
ОбъектОп.Состояние = Перечисления.СостоянияРегламентныхОпераций.Выполнено;
ОбъектОп.Записать();
КонецЦикла;
После того как все операции за 2021 год станут «зелеными», система позволит закрывать январь 2022 года без лишних вопросов. Для автоматизированного изменения состояний и пропуска этапов подойдёт обработка для корректировки регламентных операций закрытия месяца.
В современных релизах 1С:Бухгалтерии 3.0 появился еще один механизм — ИсключенныеИзЗакрытияМесяцаОперации. Это наиболее «чистый» способ с точки зрения методологии системы. Если какая-то конкретная операция (например, расчет амортизации за прошлый год) постоянно требует внимания, мы можем внести её в этот регистр. Это исключит операцию из графа зависимостей, и помощник просто перестанет её проверять.
Чтобы закрепить результат и избежать повторного появления проблемы, рекомендуем выполнить следующие шаги:
ГраницыПоследовательности, установив актуальную дату на начало 2022 года.Важный момент: если после свертки в базе остались «битые» ссылки (объекты удалены, но записи в регистрах остались), выполните Тестирование и исправление информационной базы с установленной галочкой «Очистка ссылок на несуществующие объекты». Это поможет убрать «фантомные» требования закрытия периода.
Таким образом, комбинируя установку Даты ввода начальных остатков и очистку технических регистров Неактуальные регламентные операции, мы получаем корректно работающий механизм закрытия месяца, который полностью игнорирует свернутые данные прошлых лет.