Как настроить обмен сотрудниками между 1С:ЗУП 3.1 и 1С:Бухгалтерия 3.0 для оперативных задач?

Программист 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом Бухгалтерский учет IT и автоматизация бизнеса
← На главную

При работе в связке программ 1С:ЗУП и 1С:Бухгалтерия часто возникает задача оперативной передачи данных о сотрудниках. Стандартная синхронизация в первую очередь ориентирована на перенос физических лиц и данных о начислениях через документ Отражение зарплаты в бухучете в конце месяца. Однако бухгалтерии может потребоваться информация о сотрудниках (должность, подразделение) в течение месяца для оформления доверенностей, авансовых отчетов, учета спецодежды и других хозяйственных операций. Давайте разберемся, как решить эту задачу.

Проанализируем ситуацию: нам нужно, чтобы новые сотрудники, принятые в ЗУП, оперативно появлялись в БП со всеми необходимыми кадровыми данными, не дожидаясь конца расчетного периода. Рассмотрим несколько способов решения этой задачи, от простого к более продвинутому.

Стандартный механизм обмена и его ограничения

Для начала выясним, как работает штатный обмен. В стандартной настройке синхронизации между 1С:ЗУП и 1С:БП основной фокус сделан на обмене справочником Физические лица. Это логично, так как в бухгалтерии расчеты ведутся именно с физлицами.

Информация из справочника Сотрудники, включая их должность и подразделение, как правило, переносится в составе документа Отражение зарплаты в бухучете. Этот документ является итоговым за месяц и содержит всю необходимую информацию для формирования проводок по зарплате. Если установить в настройках синхронизации детализацию по сотрудникам, то при проведении этого документа данные о сотрудниках попадут в бухгалтерию. Но это произойдет только после расчета зарплаты, что не решает нашу задачу оперативного учета.

Проблема: Данные нужны в середине месяца, а стандартный механизм передает их в конце. Кроме того, как справедливо отмечают пользователи, даже при синхронизации в БП могут попадать только "физики", а в документах вроде авансового отчета не будет хватать данных о должности или подразделении. Это связано с тем, что полные кадровые сведения хранятся в регистрах, связанных с кадровыми документами (например, Прием на работу), которые по умолчанию из ЗУП в БП не передаются.

Решение 1: Ручная регистрация сотрудников к обмену

Если у вас появляется один-два новых сотрудника в месяц, и нужно срочно передать их в бухгалтерию, можно воспользоваться ручной регистрацией объектов к обмену. Этот способ не требует доработок и подходит для разовых случаев.

Рассмотрим по шагам:

  1. Перейдите в раздел Администрирование – Синхронизация данных.
  2. Откройте настройки вашей синхронизации с 1С:Бухгалтерия.
  3. Найдите пункт Состав отправляемых данных или похожий по смыслу раздел, где можно управлять составом выгрузки.
  4. Найдите опцию для регистрации изменений вручную. Обычно она называется Зарегистрировать изменения или Состав отправляемых данных, где можно выбрать конкретные объекты.
  5. Выберите нужные элементы справочников Физические лица и Сотрудники, которых необходимо выгрузить, и зарегистрируйте их для следующего сеанса обмена.
  6. Запустите синхронизацию вручную.

Этот метод прост, но не подходит для регулярной работы, так как требует постоянного ручного вмешательства и контроля.

Решение 2: Автоматическая выгрузка с помощью расширения

Для постоянного и автоматического решения задачи лучше всего подходит небольшая доработка системы с помощью расширения. Идея состоит в том, чтобы принудительно регистрировать к обмену каждого нового или измененного сотрудника (физическое лицо) сразу после его записи в базе ЗУП. Это гарантирует, что при следующем сеансе обмена по расписанию данные гарантированно уйдут в БП.

Давайте создадим простое расширение, которое будет выполнять эту функцию. Это позволит не изменять типовую конфигурацию и избежать проблем при обновлениях.

Шаг 1. Создание расширения

В режиме конфигуратора создайте новое расширение. Назовем его, например, ПринудительнаяРегистрацияДляОбмена.

Шаг 2. Добавление объекта в расширение

В дереве конфигурации найдите справочник ФизическиеЛица. Захватите его и перенесите в ваше расширение. Система предложит создать форму или модуль — нам нужен модуль объекта.

Шаг 3. Добавление кода в модуль объекта

В расширении откройте модуль объекта справочника ФизическиеЛица и добавьте обработчик события ПередЗаписью с использованием аннотации &После. Это означает, что наш код выполнится сразу после основного типового обработчика.

Вставим следующий код:


&После("ПередЗаписью")
Процедура расш_ПередЗаписью(Отказ)

    // Указываем, что для плана обмена между ЗУП и БП
    // данный объект нужно выгружать всегда, независимо от стандартных правил.
    ОбменДанными.УстановитьРежимВыгрузкиОбъекта(ЭтотОбъект.Ссылка, "ОбменБухгалтерияПредприятияЗарплатаИУправлениеПерсоналом30", Истина);

    // Альтернативный, более "низкоуровневый" вариант, который был предложен на форуме
    // Он напрямую работает со свойствами объекта, но может быть менее универсальным.
    // РежимВыгрузкиПриНеобходимости = Перечисления.РежимыВыгрузкиОбъектовОбмена.ВыгружатьВсегда;
    // РежимВыгрузкиПерсональныеДанные = Перечисления.РежимыВыгрузкиОбъектовОбмена.ВыгружатьВсегда;
    // НеВыгружатьПерсональныеДанныеФизическихЛиц = Ложь;

КонецПроцедуры

Разберем код подробнее:

После добавления этого кода сохраните расширение и подключите его к базе данных ЗУП в пользовательском режиме (Администрирование – Печатные формы, отчеты и обработки – Расширения).

Как это работает в связке с расписанием?

Важно понимать разницу между планом обмена и расписанием синхронизации.

Таким образом, наше расширение отвечает за регистрацию, а стандартные настройки синхронизации — за периодичность отправки. Убедитесь, что у вас настроена автоматическая синхронизация по расписанию с удобным для вас интервалом.

Что делать, если кадровые данные все равно неполные?

Даже после успешной передачи физического лица и сотрудника в 1С:Бухгалтерия вы можете столкнуться с тем, что в документах (например, в Авансовом отчете) не подставляется должность или подразделение. Это происходит потому, что эти данные не являются простыми реквизитами справочника Сотрудники в БП. Они хранятся в отдельных регистрах сведений и привязываются к кадровым документам (прием, перевод).

Чтобы в БП появилась полная кадровая история, необходимо настроить правила обмена так, чтобы из ЗУП выгружались и кадровые документы (Прием на работу, Кадровый перевод). Внимание: в типовой синхронизации это обычно отключено, так как предполагается, что весь кадровый учет ведется исключительно в ЗУП. Включение передачи этих документов может потребовать более глубокой настройки правил конвертации и должно выполняться с осторожностью, чтобы не вызвать дублирование данных или другие конфликты в учете.

В большинстве случаев для оперативных задач достаточно самого факта наличия сотрудника в БП, а полная детализация появится позже с документом Отражение зарплаты в бухучете.

← На главную