При переходе на новые версии конфигурации «1С:Комплексная автоматизация 2.4» (начиная с релиза 2.4.7 и выше) многие пользователи сталкиваются с тем, что привычная процедура закрытия месяца прерывается ошибкой: «Исправление развернутого сальдо по финансовым регистрам взаиморасчетов». Ситуация осложняется тем, что кнопка «Выполнить» в помощнике закрытия месяца может быть неактивна, а система выдает неинформативные сообщения о «нулевом периоде» (Zero PERIOD). В этой статье мы детально разберем, почему возникает эта проблема и как ее решить, пройдя по всем этапам настройки и проверки данных.
Для начала проанализируем ситуацию с технической точки зрения. В последних релизах линейки 2.4 разработчики 1С окончательно внедрили механизм онлайн-взаиморасчетов. Раньше система позволяла раздельное существование долга и аванса по одному и тому же объекту расчетов до момента запуска регламентной операции. Теперь же архитектура требует жесткого «схлопывания» дебета и кредита в режиме реального времени или в рамках первой же операции закрытия месяца.
Ошибка «Исправление развернутого сальдо» означает, что система обнаружила ситуацию, при которой на начало периода (например, на 01.01.2019) по одному контрагенту, договору и объекту расчетов одновременно числятся и остаток задолженности, и остаток аванса. С точки зрения новой логики 1С — это логическая ошибка данных, которую помощник пытается исправить автоматически, но не всегда может это сделать из-за некорректно заполненных аналитик в документах Ввод остатков.
Посмотрим на документы, которыми вводились начальные данные на 31.12.2018. Часто проблема кроется в том, что остатки дебиторской и кредиторской задолженности вводились разными документами или с разной детализацией. Проанализируем ключевой реквизит — «Объект расчетов».
В новой архитектуре объект расчетов (это может быть договор, заказ или сама накладная) является ключевым измерением. Если в одном документе ввода остатков указан конкретный договор, а в другом объект расчетов оставлен пустым или создан новый «технический» объект, система увидит развернутое сальдо. Нам необходимо убедиться, что:
ОбъектРасчетов заполнен во всех строках документов ввода остатков.Выясним причину ошибки, на которую жалуются технические специалисты: при попытке записи движений система ругается на PERIOD = 0. Это происходит в тот момент, когда фоновое задание пытается сформировать корректирующие записи в регистры Расчеты с клиентами по документам или Расчеты с поставщиками по документам. Если объект расчетов в исходных данных имеет битую ссылку или не определен, алгоритм не может вычислить дату документа-основания и подставляет пустую дату.
Для исправления проанализируем остатки с помощью консоли запросов. Рассмотрим пример запроса к регистру накопления:
ВЫБРАТЬ
Взаиморасчеты.АналитикаУчетаПоПартнерам,
Взаиморасчеты.ОбъектРасчетов,
Взаиморасчеты.СуммаОстаток
ИЗ
РегистрНакопления.РасчетыСКлиентами.Остатки(&НачалоПериода, ) КАК Взаиморасчеты
ГДЕ
Взаиморасчеты.СуммаОстаток <> 0
Если вы видите строки, где ОбъектРасчетов не заполнен, это и есть источник ошибки. Вам необходимо программно или вручную через документ Корректировка задолженности заполнить эти поля.
Иногда кнопка «Выполнить» в закрытии месяца остается серой, так как система «зависла» на выполнении фонового задания актуализации. Проанализируем состояние очереди. В программе существуют технические регистры сведений, которые хранят информацию о том, какие документы нужно пересчитать. Если там скопилось много «мусорных» записей после обновления, закрытие будет стопориться.
Рекомендуем выполнить следующие действия:
Задания к распределению расчетов.Очередь событий для регистрации объектов расчетов.Рассмотрим ситуацию, когда автоматический помощник не справляется. В конфигурации 1С:Комплексная автоматизация 2.4 есть скрытая обработка, которая занимается именно этой проблемой. Попробуем запустить ее принудительно.
Через меню «Функции для технического специалиста» найдите обработку «Исправление развернутых сальдо во взаиморасчетах». Перед ее запуском обязательно создайте резервную копию базы данных. Эта обработка попытается найти встречные остатки по аналитике учета партнеров и сформировать корректирующие записи. Если она завершится с ошибкой, она укажет на конкретный объект расчетов, в котором допущена логическая ошибка (например, несовпадение валюты или организации).
Если программные методы не помогают, и ошибка «нулевого периода» сохраняется, проанализируем целостность базы данных. При обновлении на новую архитектуру взаиморасчетов могли возникнуть коллизии в индексах или ссылочной целостности.
Запустите конфигуратор и выполните «Тестирование и исправление» со следующими настройками:
Особое внимание уделите пункту «При наличии ссылок на несуществующие объекты» — выберите «Очищать», так как «битые» ссылки в измерениях регистров расчетов часто блокируют работу новых механизмов 1С.
Подводя итог, можно сказать, что ошибка «Исправление развернутого сальдо» — это не просто программный сбой, а следствие ужесточения контроля за чистотой данных в 1С. Чтобы успешно закрыть месяц, следуйте этому алгоритму:
Объекта расчетов во всех документах Ввод остатков.Задания к распределению расчетов, если процесс закрытия «зациклился».Zero PERIOD используйте консоль запросов для поиска пустых значений в измерениях регистров Расчеты с клиентами и Расчеты с поставщиками.После выполнения этих действий регламентная операция в Помощнике закрытия месяца должна пройти успешно, и вы сможете продолжить работу в актуальной версии конфигурации.