Как настроить обмен данными между 1С:УПП 1.3 и 1С:ЗУП 3.1

Программист 1С v8.3 (Обычные формы) Бухгалтерский учет
← На главную

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

Первичный перенос данных: как «обмануть» систему

Перед тем как настраивать регулярный обмен, необходимо перенести исторические данные (остатки, кадровую историю и сведения для расчета среднего заработка) из УПП в ЗУП 3.1. Несмотря на отсутствие прямой кнопки «Перенос из УПП», мы можем воспользоваться штатным помощником перехода с ЗУП 2.5.

Разберем алгоритм действий по шагам:

  1. Убедимся, что релиз УПП 1.3 обновлен до актуального. Внутренняя версия зарплатного блока должна соответствовать последним требованиям, которые ЗУП 3.1 предъявляет к источнику.
  2. В новой базе ЗУП 3.1 запустим помощник «Перенос данных из предыдущих программ».
  3. При выборе программы-источника укажем 1С:Зарплата и управление персоналом 8, редакция 2.5.
  4. Система попытается найти установленные базы. Поскольку УПП и ЗУП 2.5 имеют схожую структуру метаданных в части зарплаты, ЗУП 3.1 сможет прочитать данные из УПП, если релиз конфигурации-источника является достаточно «свежим».

Важный нюанс: рекомендуется выбирать «краткий» вариант переноса (только остатки и кадровую историю). Полный перенос за несколько лет в случае с УПП часто завершается ошибками из-за специфических доработок в производственных базах.

Регулярный обмен: Организация выгрузки проводок

Основная задача после разделения баз — ежемесячно передавать результаты расчета зарплаты в УПП для формирования бухгалтерских проводок. В ЗУП 3.1 основным документом является ОтражениеЗарплатыВБухучете. В УПП 1.3 его аналогом выступает ОтражениеЗарплатыВРеглУчете.

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

Рассмотрим два варианта решения этой задачи:

Вариант 1: Использование правил конвертации (КД 2.1)

Создадим правила обмена в конфигурации Конвертация данных 2.1. Выясним причину, по которой это решение является наиболее гибким: оно позволяет настроить сложный маппинг аналитики без изменения кода конфигураций.

Процесс настройки выглядит так:

Чтобы не «хардкодить» настройки в правилах, профессиональным решением будет создание в УПП дополнительного Регистра сведений (например, СопоставлениеСпособовОтраженияЗарплаты), где бухгалтер сам сможет указать, какой СпособОтражения из ЗУП какой СтатьеЗатрат и НоменклатурнойГруппе соответствует.

Вариант 2: Прямое подключение через COM-соединение

Если мы хотим избежать постоянной выгрузки/загрузки файлов, можно реализовать заполнение документа в УПП напрямую из ЗУП. Посмотрим на логику работы такой обработки:

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

Пример фрагмента кода для инициализации подключения:


ПараметрыСоединения = "Srvr=""" + ИмяСервера + """;Ref=""" + ИмяБазы + """;Usr=""" + Логин + """;Pwd=""" + Пароль + """;";
V83КомConnector = Новый COMОбъект("V83.COMConnector");
Попытка
    СоединениеЗУП = V83КомConnector.Connect(ПараметрыСоединения);
Исключение
    Сообщить("Не удалось подключиться к ЗУП: " + ОписаниеОшибки());
    Возврат;
КонецПопытки;

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


ЗапросЗУП = СоединениеЗУП.NewObject("Запрос");
ЗапросЗУП.Текст = 
"ВЫБРАТЬ
|   Отражение.СпособОтражения.Наименование КАК СпособНаименование,
|   Отражение.Сумма КАК Сумма,
|   Отражение.Подразделение.Наименование КАК ПодразделениеНаименование
|ИЗ
|   Документ.ОтражениеЗарплатыВБухучете.Начисления КАК Отражение
|ГДЕ
|   Отражение.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон";

ЗапросЗУП.УстановитьПараметр("ДатаНач", НачалоМесяца);
ЗапросЗУП.УстановитьПараметр("ДатаКон", КонецМесяца);
Результат = ЗапросЗУП.Выполнить().Выгрузить();

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

Синхронизация справочников и НСИ

Для стабильной работы любого обмена важно определить «мастер-систему» для справочников. Обычно в связке УПП — ЗУП основной системой для кадровых данных становится ЗУП, а для финансовой аналитики — УПП.

Проанализируем ключевые моменты синхронизации:

Заключение

Связка УПП 1.3 и ЗУП 3.1 требует индивидуального подхода. Если ваша база УПП сильно доработана, наиболее надежным путем будет написание собственных правил через Конвертацию данных 2.1 с использованием промежуточного регистра сопоставления аналитик. Это позволит сохранить прозрачность учета и избежать ошибок при расчете себестоимости продукции в УПП.

← На главную