Работа в конфигурации «1С:Управление производственным предприятием» (УПП) требует строгого соблюдения методологии проведения регламентных операций. Одной из наиболее странных и пугающих проблем, с которыми сталкиваются пользователи, является внезапное исчезновение проводок по 62 счету (Расчеты с покупателями и заказчиками) после запуска стандартной обработки «Проведение по партиям». Казалось бы, обработка должна затрагивать только себестоимость и 41 счет, но на практике «слетают» взаиморасчеты.
В этой статье мы подробно разберем, почему это происходит, проанализируем внутренние механизмы системы и выстроим правильный алгоритм действий, который позволит избежать потери данных и обеспечит корректное закрытие месяца.
Разберем ситуацию: когда мы запускаем обработку «Проведение по партиям» с установленным флагом «Формировать проводки», система инициирует процесс перепроведения документов. Несмотря на то, что основная цель обработки — актуализировать регистры накопления ПартииТоваровНаСкладах, программный вызов зачастую приводит к выполнению общего модуля проведения документа.
Проанализируем техническую сторону: при программном проведении документа через объект (метод Записать(РежимЗаписиДокумента.Проведение)), существующий набор записей в регистре бухгалтерии Хозрасчетный часто очищается перед записью новых данных. Если в коде документа или в правилах подписки на события заложена логика, которая при «неоперативном» или программном проведении не находит актуальных данных по взаиморасчетам (например, из-за нарушения последовательности), блок формирования проводок по 62 счету отрабатывает «вхолостую», оставляя регистр пустым.
Особую сложность добавляют валютные операции и расчеты в условных единицах. Проводки по таким документам напрямую зависят от курсовых разниц и состояния авансов. Если последовательность взаиморасчетов не актуальна на момент запуска «партий», алгоритм просто не может корректно рассчитать рублевую сумму для 62 счета и обнуляет движения.
Чтобы избежать «слетания» проводок, необходимо придерживаться жесткой последовательности действий, рекомендованной методистами 1С для партионного учета в УПП. Рассмотрим этот алгоритм по шагам:
20, 41, 43, 90.02).60 и 62 счетам, зачет авансов и переоценку валютных остатков.Важный нюанс: если вы заметили, что после пункта 2 проводки по 62 счету исчезли, не стоит паниковать. Запуск пункта 3 («Восстановление последовательности расчетов») должен вернуть их на место. Однако, как показывает практика, в некоторых случаях (особенно при наличии доработок в конфигурации) может потребоваться предварительное «допроведение» документов.
Как отмечают опытные специалисты, штатная обработка «Проведение по партиям» иногда допускает ошибки в специфических документах (например, при импорте или сложных схемах реализации). Если вы столкнулись с тем, что последовательность расчетов не восстанавливает проводки 62 счета после партий, рекомендуется использовать механизм «Допроведение документов».
Разберем, в чем разница:
Если методологически вы действуете верно, но проводки все равно исчезают, следует заглянуть в код. Выясним причину через отладчик в процедуре ДвиженияПоРегистрам (или аналогичных в зависимости от версии УПП). Часто программисты добавляют условия типа:
Если ЭтоНовый() Или ИнтерактивнаяОперация Тогда
// Формируем проводки по взаиморасчетам
КонецЕсли;
При запуске групповой обработки условие ИнтерактивнаяОперация будет ложным, и блок формирования проводок по 62 счету просто пропустится, при этом старые проводки будут удалены методом Записать(). Посмотрите на пример правильной структуры вызова:
// В модуле документа РеализацияТоваровУслуг
Процедура ДвиженияПоРегистрам(Отказ, Движения, СтруктураШапкиДокумента)
// Код формирования партий
СформироватьДвиженияПартии(Движения, СтруктураШапкиДокумента);
// Код формирования взаиморасчетов должен вызываться ВСЕГДА,
// если не установлен специальный флаг блокировки
СформироватьДвиженияВзаиморасчеты(Движения, СтруктураШапкиДокумента);
КонецПроцедуры
Пользователи часто жалуются, что восстановление последовательностей за год может занимать десятки часов. Чтобы оптимизировать процесс, проанализируем следующие рекомендации:
Резюмируем: исчезновение проводок по 62 счету в УПП — это не баг программы, а следствие нарушения цепочки проведения. Основное решение заключается в повторном запуске «Восстановления последовательности расчетов» СТРОГО ПОСЛЕ «Проведения по партиям». Если же это не помогает — необходимо проверить конфигурацию на предмет некорректных условий в коде, блокирующих формирование движений при программном вызове.