Как настроить выгрузку данных из 1С:ЗУП 3.1 в конфигурацию 1С:Производственная безопасность. Охрана труда?

Программист 1С v8.3 (Управляемые формы) Промышленность, строительство и АПК
← На главную

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

Рассмотрим подробно, как преодолеть технические барьеры и корректно настроить автоматизированный обмен данными (поможет автоматизированная настройка регулярного обмена между базами 1С), чтобы в дальнейшем без проблем формировать такие отчеты, как контролируемые инструктажи без рабочих мест.

Причина проблемы: почему ЗУП «не видит» Охрану труда

Основная сложность заключается в том, что механизмы обмена данными в 1С строятся на Планах обмена — для управления ими подойдёт инструмент массовой регистрации объектов в планах обмена. В типовой конфигурации ЗарплатаИУправлениеПерсоналом отсутствуют предопределенные узлы для обмена с ПроизводственнаяБезопасностьОхранаТруда. Когда мы инициируем настройку на стороне Охраны труда, программа пытается найти соответствующий программный интерфейс в ЗУП и не находит его. Именно поэтому ЗУП предлагает закончить настройку в другой базе, а ПБ:ОТ — в ЗУП, создавая замкнутый круг.

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

Шаг 1. Подготовка и установка расширения в ЗУП

Проанализируем состав дистрибутива конфигурации «Охрана труда». Нам необходимо найти файл с расширением .cfe. Обычно он располагается в папке с установленным шаблоном конфигурации. Путь по умолчанию выглядит следующим образом: C:\Users\[ИмяПользователя]\AppData\Roaming\1C\1cv8\tmplt\SoftExpert\Safety\.... Ищите папку ExtFiles или AddFiles.

Выполним следующие действия в базе ЗУП:

  1. Перейдем в раздел Администрирование — Печатные формы, отчеты и обработки — Расширения.
  2. Нажмем кнопку «Добавить из файла» и выберем найденный файл расширения для обмена с ПБ:ОТ.
  3. Важно: Снимем галочку в колонке «Безопасный режим», иначе расширение не сможет получить доступ к методам глобального поиска и планам обмена.
  4. Перезапустим сеанс работы с базой ЗУП.

После этого в ЗУП появятся необходимые метаданные, и база станет «узнавать» запросы от системы охраны труда.

Шаг 2. Настройка подключения на стороне Охраны труда

Теперь разберем, как инициировать процесс связи баз. Основная настройка всегда начинается на стороне приемника (ПБ:ОТ). Перейдем в раздел Администрирование — Загрузка данных — Перенос данных из баз 1С, SAP, файлов (в зависимости от релиза названия пунктов могут незначительно отличаться).

Рассмотрим пошаговый алгоритм в мастере настройки:

  1. Выбираем тип источника: 1С:Зарплата и управление персоналом 8.
  2. Указываем способ подключения. Рекомендуем использовать прямое подключение к информационной базе (COM-соединение) для разовой или локальной выгрузки, либо Веб-сервис, если базы разнесены территориально или работают в разных сетях.
  3. Прописываем параметры подключения: адрес сервера, имя базы, логин и пароль пользователя с правами администратора в ЗУП.

Шаг 3. Решение технических ошибок COM-соединения

При попытке подключения через COM часто возникает ошибка: «Ошибка при вызове конструктора (COMОбъект): Класс не зарегистрирован». Это происходит из-за конфликта разрядности системного ПО и платформы 1С.

Выясним причину и исправим её:

  1. Если сервер 1С 64-битный, а клиентская база или драйвер 32-битный, система не может создать объект V83.COMConnector.
  2. Необходимо убедиться, что на сервере, где выполняется код (обычно это сервер приложений 1С), зарегистрирована компонента comcntr.dll нужной версии.
  3. Регистрация выполняется через командную строку от имени администратора: regsvr32 "C:\Program Files\1cv8\[Версия_Платформы]\bin\comcntr.dll"

Если вы используете файловую версию, убедитесь, что разрядность установленного клиента совпадает с разрядностью зарегистрированной компоненты.

Шаг 4. Устранение ошибки «Свойства объекта не обнаружены»

Если вы решили использовать Универсальный обмен данными в формате XML вместо штатной синхронизации и столкнулись с ошибкой получения свойств, это свидетельствует о несоответствии правил обмена (XML) и текущего релиза вашей базы ЗУП. Структура метаданных в ЗУП (например, состав реквизитов справочника Сотрудники) меняется от релиза к релизу.

Проанализируем ситуацию и найдем решение:

  1. Проверьте версию правил обмена. Они должны соответствовать вашему релизу ЗУП. Актуальные правила всегда лежат в папке \ExtFiles\ в каталоге установки Охраны труда.
  2. Если штатные правила устарели, их можно обновить самостоятельно. Для этого потребуется обработка MDV_83.epf для выгрузки структуры метаданных из вашей текущей ЗУП и конфигурация «Конвертация данных 2.1» для пересохранения правил — для этого подойдёт настройка регулярного обмена по произвольным правилам.

Шаг 5. Последовательность загрузки данных

При первоначальном заполнении пустой базы Охраны труда крайне важно соблюдать иерархию объектов, чтобы избежать появления битых ссылок (объектов с пометкой «Объект не найден»). Рассмотрим правильный порядок действий:

  1. Организации: Это корень всей структуры.
  2. Подразделения: Загружаются с привязкой к организации.
  3. Должности и Штатное расписание: Формируют структуру рабочих мест.
  4. Физические лица: Содержат персональные данные (паспорт, СНИЛС).
  5. Сотрудники: Финальный этап, связывающий физлицо, должность и подразделение.

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

Альтернативный метод: Загрузка из файлов

Если настройка COM-соединения или веб-сервиса кажется избыточной для разового переноса, в ПБ:ОТ реализован мощный механизм загрузки из Excel. Рассмотрим этот путь:

  1. В базе Охраны труда зайдите в раздел Администрирование — Загрузка данных из файлов.
  2. Скачайте шаблоны (пустые таблицы) для нужных справочников (Сотрудники, Подразделения).
  3. В ЗУП сформируйте любой отчет (например, «Штатные сотрудники») и сохраните его в Excel или используйте инструмент для автоматической выгрузки сотрудников в Excel.
  4. Скопируйте данные из отчета ЗУП в шаблоны Охраны труда, соблюдая формат колонок.
  5. Загрузите заполненные файлы обратно в программу.

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

← На главную