При работе в 1С:ERP Управление предприятием 2.1 пользователи и разработчики часто сталкиваются с ситуацией, когда при проведении первичного документа (например, Реализация товаров и услуг) не формируются проводки в регистре бухгалтерии Хозрасчетный. Проанализируем архитектуру системы, выясним причины такого поведения и разберем способы решения данной задачи.
В отличие от 1С:Бухгалтерии, в 1С:ERP 2.1 проведение первичного документа по умолчанию не создает проводки в регистре бухгалтерии Хозрасчетный. Документ формирует движения только по оперативным и аналитическим регистрам накопления, а также создает запись в регистр сведений Отражение документов в регл. учете со статусом К отражению.
Это сделано для повышения производительности системы: менеджеры по продажам и кладовщики не блокируют работу бухгалтерской службы, а проведение документов происходит оперативно без лишних проверок счетов учета.
Рассмотри штатные возможности 1С:ERP для автоматического формирования проводок без написания сложного кода:
Разберем ситуацию, когда проводки необходимо сформировать программно сразу после проведения документа или с помощью внешней обработки. Создавать записи напрямую в РегистрБухгалтерии.Хозрасчетный не рекомендуется: при повторном перепроведении документа или перезакрытии месяца типовой механизм затрет ручные изменения.
Правильный подход — использование процедур общего модуля ОтражениеДокументовВРеглУчетеСервер. Посмотрим на пример вызова метода для обработки массива документов:
МассивДокументов = Новый Массив;
МассивДокументов.Добавить(СсылкаНаДокумент);
// Программный вызов отражения документов в регламентированном учете
ОтражениеДокументовВРеглУчетеСервер.ОтразитьДокументы(МассивДокументов);
Для моментального формирования проводок при проведении конкретного документа можно использовать подписку на событие или расширение, выгружая обработку отражения на сервер сразу после проведения документа.
Проанализируем ключевые условия, от которых зависит успешное формирование проводок: