При переходе на расчет заработной платы во внешней программе 1С:Зарплата и управление персоналом (ЗУП 3.1) многие пользователи сталкиваются с неприятной особенностью: в программе 1С:Бухгалтерия предприятия (БП 3.0) в печатных формах документов (например, в авансовых отчетах или доверенностях) перестают отображаться должности сотрудников. Это происходит потому, что типовой обмен данными между этими конфигурациями по умолчанию настроен на синхронизацию справочника ФизическиеЛица, в то время как сведения о должностях хранятся в справочнике Сотрудники и связанных с ним кадровых документах, которые в БП при интеграции с ЗУП обычно не переносятся. Эффективно исправить печать должностей в Авансовом отчете и Доверенности можно с помощью специализированных расширений, восстанавливающих кадровый учет в базе БП.
В данной статье мы подробно разберем, почему так происходит, и рассмотрим несколько эффективных способов решения этой задачи — от простых административных настроек до серьезных программных доработок.
Прежде всего, проанализируем ситуацию с точки зрения архитектуры системы. Разработчики «1С» придерживаются строгой концепции разделения учета. БП предназначена для финансового и налогового учета, где ключевым объектом является «физическое лицо» (субъект права и расчетов). ЗУП, напротив, является специализированным инструментом для кадрового учета, где важна детальная информация о должностях, ставках, переводах и отпусках.
В типовом сценарии обмена считается, что для формирования проводок и ведения учета по 70 и 71 счетам достаточно данных справочника ФизическиеЛица. Справочник Сотрудники в БП считается «подчиненным» кадровым приказам. Поскольку приказы (прием, перевод) создаются в ЗУП и не дублируются в БП, справочник сотрудников остается незаполненным или заполняется лишь частично, без привязки к должностям.
Рассмотрим самый простой способ, который не требует программирования. Мало кто знает, что в БП 3.0 существует возможность вести упрощенный кадровый учет даже при включенной синхронизации с внешней зарплатной программой. Выясним, как это включить:
ПриемНаРаботу.Посмотрим на результат: как только в системе появляется кадровый документ, регистр сведений КадроваяИсторияСотрудников заполняется данными о должности. Чтобы не создавать документы вручную, можно применить инструмент для автоматизации упрощенного кадрового учета в БП 3.0, который сформирует необходимые записи на основе данных обмена. Это решение идеально подходит для небольших компаний, где количество подотчетников ограничено.
Если нам необходимо автоматизировать процесс для большого количества сотрудников, разберем вариант доработки правил обмена. Типовой обмен часто использует формат КД 2.0 (XML) — для этого подойдёт синхронизация по правилам Конвертации данных 2.0. Проанализируем шаги по добавлению справочника Сотрудники в выгрузку:
Сотрудники.Наименование + ФизическоеЛицо.Чтобы упростить задачу, можно использовать уже готовые правила обмена (КД 2.0) для переноса справочника Сотрудники и должностей, адаптированные под последние релизы. Также полезно применить универсальный механизм регистрации объектов для обмена, чтобы точно контролировать, какие именно данные передаются в бухгалтерию — поможет регистрация объектов для обмена через планы обмена. Важный момент: при обновлении конфигураций 1С вам придется поддерживать эти правила в актуальном состоянии, объединяя свои правки с новыми правилами от разработчиков.
В современных релизах ЗУП 3.1 (начиная с 3.1.14) используется формат обмена Enterprise Data. Посмотрим, как можно использовать штатные возможности этого формата — для этого подойдёт двусторонняя синхронизация через правила EnterpriseData.
В настройках синхронизации со стороны ЗУП найдем и установим флаг «Выгружать информацию для формирования печатных форм». Чтобы данные гарантированно попадали в нужные регистры, рекомендуется настроить расширенную синхронизацию через Enterprise Data, которая активирует передачу должностей и подразделений. Также существует удобное расширение для синхронизации должностей, которое позволяет автоматически заполнять кадровые сведения в Бухгалтерии без изменения типовых правил обмена — есть готовое расширение для синхронизации кадровых сведений ЗУП и БП.
Рассмотрим более продвинутый технический подход. Если мы не хотим перегружать базу БП лишними данными, мы можем научить печатные формы запрашивать должность напрямую из ЗУП «на лету».
Разберем пример реализации через HTTP-запрос. Для этого в ЗУП создается расширение с HTTP-сервисом, который по ИНН или GUID физлица возвращает его текущую должность. В БП создается внешняя печатная форма, код которой обращается к этому сервису. При разработке такой логики пригодится справочник методов Бухгалтерии предприятия 3.0 для корректного внедрения программного кода. Подобное получение должностей из ЗУП через HTTP-сервис гарантирует актуальность данных без их дублирования в бухгалтерской базе.
Пример логики запроса в коде 1С:
Функция ПолучитьДолжностьИзЗУП(ФизЛицоСсылка)
// Настройка соединения
НТТПЗапрос = Новый HTTPЗапрос("/v1/get_position?id=" + ФизЛицоСсылка.УникальныйИдентификатор());
Соединение = Новый HTTPСоединение("server_zup", 8080, "login", "password");
Попытка
Ответ = Соединение.Получить(НТТПЗапрос);
Если Ответ.КодСостояния = 200 Тогда
Возврат Ответ.ПолучитьТелоКакСтроку();
КонецЕсли;
Исключение
Возврат "Должность не определена";
КонецПопытки;
КонецФункции
Если задача стоит максимально просто — «чтобы печаталось», проанализируем вариант с использованием Дополнительных реквизитов.
ФизическиеЛица с именем «Должность (для печати)».Мы выяснили, что отсутствие должностей в БП — это не ошибка, а особенность типовой настройки интеграции. Для решения проблемы мы можем:
ПриемНаРаботу вручную или автоматически.Сотрудники через КД 2.0 или использовать HTTP-интеграцию для получения данных в реальном времени.Выбор метода зависит от ваших ресурсов и требований к актуальности данных. Правильная настройка позволит не только корректно печатать документы, но и формировать отчет по начисленной и выплаченной заработной плате непосредственно в Бухгалтерии 3.0. В большинстве случаев оптимальным решением является использование расширения конфигурации, так как оно позволяет сохранить базу на поддержке и автоматизировать процесс без изменения типовой логики обмена.