Сценарий "Интеграция Business Central и HCM & LMS"
Extension — SMART Payroll and SMART HCM & LMS Connector (дополнение к SMART Payroll)
В системе есть возможность настроить интеграцию между Business Central и SMART HCM & LMS (Human Capital Management & Learning Management System). Интеграция обеспечивает автоматическую синхронизацию кадровых и зарплатных данных между двумя системами.
Основные возможности:
- синхронизация организационной структуры (подразделения, должности, позиции, категории работников)
- синхронизация данных физ. лиц и трудовых договоров со строками
- синхронизация причин отсутствия и групп временных активностей
- передача зарплатных документов и статусов табелей
- получение заявлений на отсутствие из HCM & LMS в Business Central
- поддержка кросс-компанийных физ. лиц
Синхронизация работает по событи йной модели: при изменении данных в Business Central автоматически создается запись в очереди интеграции, которая затем обрабатывается очередью задач и отправляется в HCM & LMS.
Шаг 1: Настройка интеграции
Путь: HCM & LMS Setup
На странице настройки доступны следующие блоки полей:
Блок «Общее»
| Поле | Описание | Зависимости и особенности |
|---|---|---|
| HCM Company Id | Идентификатор (GUID) компании в системе HCM & LMS. Используется как AccountId во всех запросах интеграции. | Заполняется автоматически при первом открытии страницы настройки (берется из Company.Id). Обязательное для активации. |
| HCM Company Code | Код компании в системе HCM & LMS. | Обязательное для активации. Используется при создании записи компании в HCM. При удалении значения — очищается очередь интеграции. |
| Active | Включает или выключает обмен данными между системами. | При первой активации система автоматически генерирует начальные записи интеграции для всех сущностей (подробнее в Шаге 2). Для активации обязательно должны быть заполнены: HCM Company Id, HCM Company Code, HCM User ID. |
| Integration Token | Токен авторизации для API HCM & LMS. | Хранится в защищенном (маскированном) поле. Присваивается индивидуально. |
| Integration URL | Базовый URL-адрес API HCM & LMS. | Не следует включать пути /create, /update, /delete — они добавляются автоматически. Присваивается индивидуально. |
| Restore Integration Func. | Автоматическое восстановление очереди задач интеграции при неожиданной остановке. | Если включено, система автоматически перезапускает очередь задач при входе пользователя, если очередь остановилась из-за ошибки. |
Блок «Администрирование»
| Поле | Описание | Зависимости и особенности |
|---|---|---|
| Default Taxpayer Document Type | Тип документа, удостоверяющего лицо, по умолчанию. Используется для передачи паспортных данных физ. лиц. | Зависит от справочника «Типы документов физ. лица» (SMA Person Document Type). Если заполнено — при синхронизации физ. лица передаются серия, номер, дата выдачи и кем выдан документ указанного типа. |
| HCM User ID | Код пользователя Business Central, изменения которого НЕ синхронизируются в HCM. | Зависит от таблицы Users. Обязательное для активации. Используется для предотвращения циклов синхронизации — изменения, внесенные этим пользователем (например, со стороны HCM), не создают записей интеграции. |
| API TimeZone | Часовой пояс Windows для форматирования дат и времени в запросах. | Например: «FLE Standard Time» для Киева. |
| Enable Payroll Documents | Синхронизировать ли зарплатные документы в HCM & LMS. | По умолчанию включено. Если выключено — зарплатные документы не передаются. |
| Enable Between Payroll Docs | Включать ли межпериодные зарплатные документы в синхронизацию. | По умолчанию включено. Работает вместе с Enable Payroll Documents. |
| Enable Employee Timesheet | Синхронизировать ли статусы табелей в HCM & LMS. | По умолчанию включено. Передаются только табели со статусом «Выпущен». |
Блок «Фильтры»
| Поле | Описание | Зависимости и особенности |
|---|---|---|
| Labor Contract Filter | Фильтр для таблицы «Трудовой договор». | Ограничивает, какие трудовые договора синхронизируются в HCM. Редактируется через AssistEdit — открывается конструктор фильтров. Если пустой — синхронизируются все договора. |
| Position Filter | Фильтр для таблицы «Позиция». | Ограничивает, какие позиции синхронизируются в HCM. Редактируется через AssistEdit. По умолчанию позиции со статусом «Планируемая» и бюджетные позиции не синхронизируются. |
Блок «Портал»
| Поле | Описание | Зависимости и особенности |
|---|---|---|
| Paid Leave Group Code | Код группы временной активности для оплачиваемых отпусков. | Зависит от справочника «Группы временных активностей» (SMA Time Activity Group). Используется для расчета дней табеля на портале HCM. |
| Unpaid Leave Group Code | Код группы временной активности для неоплачиваемых отпусков. | Зависит от справочника «Группы временных активностей». |
| Sick Leave Group Code | Код группы временной активности для больничных. | Зависит от справочника «Группы временных активностей». |
| Other Leave Group Code | Код группы временной активности для других типов отсутствий. | Зависит от справочника «Группы временных активностей». |
Шаг 2: Активация интеграции
При установке поля Active = Да, система автоматически создает начальные записи интеграции для передачи всех текущих данных в HCM & LMS. Записи создаются в следующем порядке:
- Информация об организации — создается одна запись для текущей компании
- Должности (справочник Job Titles) — все должности
- Категории работников (Employee Categories) — все категории
- Причины отсутствия (Causes of Absence) — только те, где включен флажок «Export to HCM»
- Подразделения (Organizational Units) — все подразделения
- Группы временных активностей (Time Activity Groups) — только те, где включен флажок «Export to HCM»
- Физ. лица (Persons) — только те, у которых поле «Основная компания HCM» пустое
- Позиции (Positions) — с учетом фильтра Position Filter, исключая позиции со статусом «Планируемая» и бюджетные позиции
- Трудовые договора (Labor Contracts) — с учетом фильтра Labor Contract Filter, только с заполненным номером сотрудника. Для каждого договора также создаются:
- строки договора (утвержденные)
- зарплатные документы (если Enable Payroll Documents включено, за последний год)
- статусы табелей (если Enable Employee Timesheet включено, только со статусом «Выпущен»)
Обратите внимание: порядок создания важен — справочники (должности, категории, причины отсутствия, подразделения) создаются первыми, чтобы при обработке зависимых сущностей (позиции, договора) справочные данные уже были в HCM & LMS.
После активации необходимо запустить очередь задач (Job Queue) для фактической отправки данных. Очередь задач создается автоматически при установке дополнения со статусом «На удержании» — её нужно активировать вручную. Рекомендуемый интервал: 1–5 минут.
Шаг 3: Страницы между которыми интегрируются системы
Ниже приведен маппинг полей для каждой сущности, которая синхронизируется. Стрелка указывает направление передачи данных:
- → Business Central в HCM & LMS
- ← HCM & LMS в Business Central
- ↔ двусторонний обмен
Для каждой сущности указано, какие изменения полей в Business Central инициируют синхронизацию и какие операции поддерживаются (создание, изменение, удаление).
3.1. Информация об организации (Business Central) → Название организации (HCM & LMS)
Операции: изменение
Синхронизация инициируется при изменении любого из полей: Название, Адрес, Телефон, Веб-сайт, Эл. почта.
| Поле Business Central | Поле HCM & LMS | Описание и зависимости |
|---|---|---|
| — | id | Берется из HCM Company Id в настройках |
| — | Code | Берется из HCM Company Code в настройках |
| Название (Name) | Название организации (Name) | Название компании |
| Телефон (Phone No.) | Телефон (Telephone1) | Телефон компании |
| Адрес (Address) | Адрес (Address) | Адрес компании |
| Веб-сайт (Home Page) | Веб-сайт (WebSiteUrl) | Домашняя страница компании |
| Основная деятельность (SMA Principal Activity) | Описание (Description) | Передается только если заполнено |
| Эл. почта (E-Mail) | Эл. почта (Emailaddress1) | Электронная почта компании |
3.2. Должности (Business Central) → Должности (HCM & LMS)
Операции: создание, изменение, удаление
Синхронизация инициируется при: создании, изменении полей Название или Статус, удалении, переименовании кода.
| Поле Business Central | Поле HCM & LMS | Описание и зависимости |
|---|---|---|
| Код (Code) | Код (Code) | Код должности |
| Название (Name) | Название (Name) | Название должности |
| Статус (Status) | Состояние (State) | Если Статус = «Закрыта» → «Inactive», иначе → «Active» |