При настройке синхронизации между конфигурациями 1С:Зарплата и управление персоналом 3.1 и 1С:Бухгалтерия 8 (включая версию КОРП) часто возникает вопрос: почему при переносе документа Отражение зарплаты в бухучете флаг отражения не переносится из ЗУП, а в бухгалтерской базе автоматически не формируются проводки. Разберем логику работы типового механизма, выясним причины такого поведения системы и рассмотрим варианты автоматизации процесса.
В типовых конфигурациях фирмы «1С» заложена строгая концепция разделения ответственности между расчетчиком зарплаты и бухгалтером. Посмотрим, как устроен этот процесс:
Отражение зарплаты в бухучете в базе ЗУП 3.1. На стороне зарплатной программы справочник способов отражения содержит только наименования шаблонов проводок без указания счетов бухучета и субконто.Отражено в учете. Передача признака отражения в направлении «ЗУП → БП» намеренно заблокирована на уровне правил конвертации, чтобы исключить бесконтрольное появление невыверенных бухгалтерских проводок.Отражено в учете и проводит документ. Только в этот момент формируются проводки по счетам 20, 26, 44, 68, 69, 70.Зарплата отражена в бухучете пользователем автоматически устанавливается и блокирует документ от случайного редактирования расчетчиками.Проанализируем поведение интерфейса в ЗУП: флаг Зарплата отражена в бухучете пользователем на форме документа закрыт для ручной установки, так как он предназначен для служебной фиксации факта проведения документа бухгалтером. Кратковременная доступность флажка при нажатии кнопки проведения до момента записи на форме является особенностью обновления клиентских событий и не предназначена для штатной установки расчетчиком.
Даже если флаг будет установлен программно, проводки не сформируются корректно без соблюдения важного условия: в 1С:Бухгалтерии для каждого перенесенного способа отражения зарплаты должны быть настроены счета учета и субконто (номенклатурные группы, статьи затрат). Если способ отражения не настроен, по затратным статьям проводки не создадутся (сформируются только записи по налогам и взносам с предопределенными счетами).
Когда филиалов много и требуется, чтобы проводки формировались сразу после загрузки без ручной обработки каждого документа бухгалтером, рассмотрим практические способы настройки автоматического проведения.
Разберем создание расширения в базе-приемнике (1С:Бухгалтерия 3.0 / КОРП). Для этого добавляем подписку на событие или переопределяем обработку загрузки объекта в модуле расширения. При загрузке документа ОтражениеЗарплатыВБухучете устанавливаем реквизит и проводим документ:
&После("ПриЗаписи")
Процедура Расш_ОтражениеЗарплатыВБухучетеПриЗаписи(Источник, Отказ)
Если Источник.ОбменДанными.Загрузка Тогда
Если НЕ Источник.ОтраженоВУчете Тогда
Источник.ОтраженоВУчете = Истина;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Также можно выполнять проведение документа в событии ПослеЗагрузкиОбъекта в модуле обмена данными, если все необходимые способы отражения уже сопоставлены.
Если вмешательство в процесс непосредственной загрузки нежелательно, настроим регламентное задание, которое будет выполняться по расписанию (например, каждые 30 минут) и проводить загруженные документы:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Отражение.Ссылка КАК Ссылка
|ИЗ
| Документ.ОтражениеЗарплатыВБухучете КАК Отражение
|ГДЕ
| НЕ Отражение.ОтраженоВУчете
| И НЕ Отражение.ПометкаУдаления";
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ДокОбъект = Выборка.Ссылка.ПолучитьОбъект();
ДокОбъект.ОтраженоВУчете = Истина;
Попытка
ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
Исключение
// Запись ошибки в Журнал регистрации для последующего анализа
ЗаписьЖурналаРегистрации("Автопроведение отражения зарплаты",
УровеньЖурналаРегистрации.Ошибка,,,
ОписаниеОшибки());
КонецПопытки;
КонецЦикла;
Если доработка конфигурации не планируется, бухгалтер может использовать встроенный инструмент:
Отражение зарплаты в бухучете и настраиваем отбор по непроведенным документам за нужный месяц.Отражено в учете в значение Да.