Table of Contents

Сценарий "Интеграция 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. Записи создаются в следующем порядке:

  1. Информация об организации — создается одна запись для текущей компании
  2. Должности (справочник Job Titles) — все должности
  3. Категории работников (Employee Categories) — все категории
  4. Причины отсутствия (Causes of Absence) — только те, где включен флажок «Export to HCM»
  5. Подразделения (Organizational Units) — все подразделения
  6. Группы временных активностей (Time Activity Groups) — только те, где включен флажок «Export to HCM»
  7. Физ. лица (Persons) — только те, у которых поле «Основная компания HCM» пустое
  8. Позиции (Positions) — с учетом фильтра Position Filter, исключая позиции со статусом «Планируемая» и бюджетные позиции
  9. Трудовые договора (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»

3.3. Категории работников (Business Central) → Уровень Должности (HCM & LMS)

Операции: создание, изменение, удаление

Синхронизация инициируется при: создании, изменении поля Описание, удалении, переименовании кода.

Поле Business Central Поле HCM & LMS Описание и зависимости
Код (Code) Код (Code) Код категории
Описание (Description) Название (Name) Название уровня должности

3.4. Подразделения (Business Central) → Подразделение (HCM & LMS)

Операции: создание, изменение, удаление

Синхронизация инициируется при: создании, изменении полей Название, Полное название, Статус, Менеджер, Родительское подразделение или Дата начала, удалении.

Поле Business Central Поле HCM & LMS Описание и зависимости
Код (Code) Код (Code) Код подразделения
Название (Name) Название (Name) Краткое название подразделения
Полное название (Full Name) Описание (Description) Полное название подразделения
Менеджер (Manager No.) Руководитель подразделения (HeadOfSubdivisionId) Зависит от: Сотрудник → Физ. лицо. Передается SystemId физ. лица менеджера. Для кросс-компанийных лиц используется SystemId из основной компании.
Позиция менеджера Позиция руководителя (HeadOfSubdivisionPositionId) Зависит от: Сотрудник → Позиция (SMA Position No.). Передается SystemId позиции менеджера.
Родительское подразделение (Parent Code) Главное подразделение (MainSubdivisionId) Зависит от: родительское подразделение. Передается SystemId родительского подразделения.
Дата начала (Starting Date) Дата создания (CreatedOn) Дата создания подразделения
Статус (Status) Состояние (State) Если Статус = «Закрыта» → «Inactive», иначе → «Active»

3.5. Позиции (Business Central) → Позиции (HCM & LMS)

Операции: создание, изменение, удаление

Синхронизация инициируется при: создании, изменении контролируемых полей, удалении. Позиции из фильтра Position Filter и со статусом «Планируемая» или бюджетные не синхронизируются.

Поле Business Central Поле HCM & LMS Описание и зависимости
Номер (No.) Код (Code) Номер позиции
Должность (Job Title Code) Название (Name) Зависит от: справочник Должности. Передается название должности (Job Title.Name).
Работник на позиции Работник (employeeId) Определяется автоматически: ищется активный сотрудник, назначенный на эту позицию через трудовой договор. Передается SystemId физ. лица. Если работника нет — null.
Дата назначения Дата назначения (positionAssignmentDate) Определяется автоматически: дата начала последней утвержденной строки трудового договора для этой позиции.
Является руководителем Руководитель подразделения (IsHeadOfSubdivision) Определяется автоматически: true, если этот сотрудник является менеджером какого-либо подразделения.
Дата начала (Starting Date) Дата открытия позиции (PositionOpeningDate) Дата открытия позиции. Пустая, если не заполнена.
Дата окончания (Ending Date) Дата закрытия позиции (PositionClosingDate) Дата закрытия позиции. Пустая, если не заполнена.
Ставка (Rate) Эквивалент полной занятости (FullTimeEquivalency) Ставка позиции (например, 1.0 или 0.5)
Дата утверждения (Approval Date) Дата утверждения (ApprovalDate) Дата утверждения позиции. Пустая, если не заполнена.
Статус (Status) Статус (Status) Текстовое значение статуса
Статус (Status) Состояние (State) Если Статус = «Закрыта» → «Inactive», иначе → «Active»
Должность (Job Title Code) Должность (jobId) Зависит от: справочник Должности. Передается SystemId должности.
Подразделение (Org. Unit Code) Подразделение (SubdivisionId) Зависит от: справочник Подразделения. Передается SystemId подразделения.
Родительская позиция (Parent Position No.) Позиция руководителя (ManagerPositionId) Зависит от: родительская позиция. Передается SystemId родительской позиции.
Подразделение + Должность Профиль должности (jobProfileId) Составное поле: формируется как комбинация SystemId подразделения и SystemId должности через «/».

3.6. Физ. лица (Business Central) → Сотрудники (HCM & LMS)

Операции: создание, изменение, удаление

Синхронизация инициируется при: создании, изменении полей (имя, фамилия, отчество, пол, дата рождения, эл. почта, телефоны, ИНН, семейное положение), удалении. Также инициируется при изменении документа физ. лица типа, указанного в Default Taxpayer Document Type.

Кросс-компанийное взаимодействие: зачем оно нужно

В Business Central каждая компания имеет свою отдельную карточку физического лица. Один и тот же человек (например, Иванов Иван Иванович) может иметь запись физ. лица в Компании A и отдельную запись в Компании B. Это стандартное поведение BC — данные каждой компании изолированы.

В HCM & LMS, напротив, существует одна единственная запись сотрудника на каждое физическое лицо — независимо от того, в скольких компаниях оно работает.

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

Поле «Основная компания HCM» (SMAHCM Primary Company Name)

Это ключевое поле на карточке физ. лица, которое определяет роль этой записи в кросс-компанийной синхронизации:

  • Пустое значение — эта запись является первичной (основной). Именно из неё данные физ. лица отправляются в HCM & LMS.
  • Заполненное значение (название другой компании) — эта запись является вторичной (копией). Она не синхронизируется самостоятельно в HCM & LMS. Значение указывает, в какой компании находится первичная запись этого физ. лица.

Как поле заполняется автоматически:

При создании или изменении карточки физ. лица система автоматически ищет совпадения во всех компаниях, где активна интеграция HCM & LMS:

  1. Поиск по ИНН + Дата рождения: система проверяет все другие компании с активной интеграцией. Если находит физ. лицо с таким же ИНН и датой рождения, где поле «Основная компания HCM» пустое (то есть это лицо является первичным в той компании), — текущая запись отмечается как вторичная (заполняется название той компании).
  2. Резервный поиск по документу физ. лица: если ИНН пуст, система ищет совпадение по серии и номеру документа физ. лица (обозначенного как документ по умолчанию).
  3. Первое совпадение выигрывает: если совпадение найдено в нескольких компаниях, используется первое найденное.

Поле также можно заполнить вручную. При ручной установке система предложит скопировать все данные из первичной карточки физ. лица.

На что влияет поле «Основная компания HCM»:

  • Синхронизация физ. лица: только записи с пустым полем отправляются в HCM & LMS. Вторичные записи пропускаются.
  • Подстановка SystemId: когда другие сущности (трудовые договоры, строки договоров, табели, позиции, подразделения) ссылаются на вторичное физ. лицо, система автоматически подставляет SystemId первичного физ. лица из основной компании. Это обеспечивает, что в HCM & LMS все ссылки ведут к одной записи сотрудника.
  • Активация интеграции (Шаг 2): при начальном создании записей интеграции система пропускает физ. лиц с заполненным полем «Основная компания HCM».

Как определяется сотрудник (Employee) для физ. лица

Для заполнения полей, связанных с сотрудником (номер сотрудника, подразделение, должность, профиль должности, дата приёма), система ищет первичного сотрудника среди всех компаний с активной интеграцией по такому приоритету:

  1. Основное место работы — наивысший приоритет. Ищется утверждённый трудовой договор с режимом работы «Основное место».
  2. Внутреннее совместительство — если основное место не найдено, ищется договор с режимом «Внутреннее совместительство».
  3. Внешнее совместительство — наименьший приоритет. Ищется договор с режимом «Внешнее совместительство».

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

Источник данных для полей контакта

  • Персональные данные (имя, фамилия, дата рождения, пол, телефоны, эл. почты, ИНН, семейное положение, паспортные данные) — берутся из первичной записи физ. лица (где поле «Основная компания HCM» пустое).
  • Данные, связанные с сотрудником (employeeId, subdivisionId, jobProfileId, employmentStartDate) — берутся от найденного первичного сотрудника по приоритету, описанному выше.
  • Если первичный сотрудник находится в другой компании, чем первичное физ. лицо, система переключается на запись физ. лица из компании сотрудника для получения контактных данных.
Поле Business Central Поле HCM & LMS Описание и зависимости
Код (No.) Код (code) Код физ. лица
Фамилия (Last Name) Фамилия (lastName) Фамилия
Имя (First Name) Имя (firstName) Имя
Отчество (Middle Name) Отчество (middleName) Отчество
Пол (Gender) Пол (gender) Маппинг значений: Мужской → «Male», Женский → «Female», Небинарный → «Nonbinarygenderdiverse», Самоопределенный → «SelfDescribed», Не желаю отвечать → «Idontwishtoanswer». Передается только если заполнено.
Дата рождения (Birth Date) День рождения (birthdate) Дата рождения в формате ГГГГ-ММ-ДД
Дата приема на работу (Employment Date) Дата начала работы (employmentStartDate) Зависит от: Сотрудник (Employee). Дата первого трудоустройства. Передается только если заполнено.
Рабочий E-Mail (Company Email) Email (email) Рабочая электронная почта
Мобильный телефон (Mobile Phone No.) Мобильный (mobilePhone) Мобильный телефон
Телефон (Phone No.) Телефон (telephone) Личный телефон
Эл. почта (E-Mail) Личная эл. почта (personalEmail) Личная электронная почта
Рабочий телефон (Company Phone No.) Рабочий телефон (businessPhoneNo) Телефон компании
Семейное положение (Person Family Status) Семейное положение (maritalStatus) Маппинг значений: Не женат/не замужем → «Single», Разведен(а) → «Divorced», Женат/замужем → «Married», Вдовец/вдова → «Widowed», Гражданский брак → «CivilMarriage». Передается только если заполнено.
ИНН (VAT Registration No.) ИНН (VATRegistration) Индивидуальный номер налогоплательщика. Обязательное поле.
Серия документа Серия паспорта (passportSeries) Зависит от: поле Default Taxpayer Document Type в настройках. Берется из документа физ. лица указанного типа, действительного на текущую дату.
Номер документа Номер паспорта (passportNumber) Зависит от: поле Default Taxpayer Document Type в настройках.
Дата выдачи документа Дата выдачи паспорта (passportIssueDate) Зависит от: поле Default Taxpayer Document Type в настройках. Передается только если заполнено.
Кем выдан документ Кем выдан паспорт (passportIssuedBy) Зависит от: поле Default Taxpayer Document Type в настройках.
Подразделение сотрудника Подразделение (subdivisionId) Зависит от: Сотрудник → Подразделение. Передается SystemId подразделения.
Подразделение + Должность сотрудника Профиль должности (jobProfileId) Зависит от: Сотрудник → Подразделение + Должность. Составное поле.
Номер сотрудника Номер сотрудника (employeeId) Зависит от: поиск первичного сотрудника по трудовым договорам. Приоритет: основное место → внутреннее совместительство → внешнее совместительство.

3.7. Трудовые договора (Business Central) → Контракты (HCM & LMS)

Операции: создание, изменение, удаление

Синхронизация инициируется при: создании, изменении контролируемых полей, удалении. Договора фильтруются через фильтр Labor Contract Filter в настройках.

Поле Business Central Поле HCM & LMS Описание и зависимости
Номер договора (No.) Код (Code) Номер трудового договора
Номер + ФИО Название (Name) Формируется автоматически: номер договора + полное имя сотрудника
Дата начала (Starting Date) Дата начала (StartingDate) Дата начала действия договора. Пустая, если не заполнена.
Дата окончания (Ending Date) Дата окончания (EndingDate) Дата окончания действия договора. Null, если не заполнена (бессрочный договор).
Физ. лицо (Person No.) Контакт (ContactId) Зависит от: физ. лицо трудового договора. Передается SystemId физ. лица. Для кросс-компанийных лиц используется SystemId из основной компании.
Номер сотрудника (Employee No.) Код сотрудника (EmployeeId) Номер сотрудника
Подразделение сотрудника Подразделение (SubdivisionId) Зависит от: Сотрудник → Подразделение. Передается SystemId подразделения.
Подразделение + Должность сотрудника Профиль должности (jobProfileId) Зависит от: Сотрудник → Подразделение + Должность. Составное поле.
Тип договора (Contract Type) Тип сотрудничества (CooperationType) Маппинг значений: Гражданский договор → «Civil Contract», Трудовой договор → «Labor Contract»
Режим работы (Work Mode) Характер работы (Type) Маппинг значений: Основное место → «Main», Внутреннее совместительство → «internal cowork», Внешнее совместительство → «external cowork»
Статус (Status) Состояние (State) Если Статус = «Закрыта» → «Inactive», иначе → «Active»

3.8. Строки трудового договора (Business Central) → Назначение на позицию (HCM & LMS)

Операции: создание, изменение, удаление

Строки трудового договора содержат информацию о кадровых операциях: Найм, Совмещение, Перевод, Увольнение.

Синхронизация инициируется при: создании (утверждении строки), изменении, удалении. При утверждении строки также обновляется соответствующая позиция.

Поле Business Central Поле HCM & LMS Описание и зависимости
Название подразделения позиции Название (Name) Зависит от: Позиция → Подразделение. Берется название подразделения позиции.
Позиция (Position No.) Позиция (PositionId) Зависит от: справочник Позиции. Передается SystemId позиции.
Номер договора (Contract No.) Контракт (EmployeeContractId) Зависит от: трудовой договор. Передается SystemId трудового договора.
Физ. лицо (Person No.) Контакт (ContactId) Зависит от: трудовой договор → физ. лицо. Передается SystemId физ. лица. Для кросс-компанийных лиц — SystemId из основной компании.
Подразделение позиции Подразделение (SubdivisionId) Зависит от: Позиция → Подразделение. Передается SystemId подразделения.
Должность позиции Должность (JobId) Зависит от: Позиция → Должность. Передается SystemId должности.
Подразделение + Должность Профиль должности (jobProfileId) Составное поле: SystemId подразделения + «/» + SystemId должности.
Дата начала (Starting Date) Дата создания (CreatedOn) Дата начала действия строки
Дата начала (Starting Date) Дата назначения (AssignmentDate) Дата назначения на позицию
Дата окончания (Ending Date) Дата увольнения (RemovedDate) Дата окончания строки. Если пустая — ищется дата окончания из записи Employee Job Entry для этой позиции.
Основная позиция Основная позиция (PrimaryPosition) Определяется автоматически: true, если режим работы = «Основное место», тип операции ≠ «Совмещение», и это последняя утвержденная строка с наиболее поздней датой начала.
Тип операции (Operation Type) Тип операции (OperationType) Текстовое значение типа кадровой операции (Найм, Перевод, Совмещение, Увольнение и т.д.)
Испытательный срок На испытании (IsOnProbation) Определяется автоматически: true, если заполнены обе даты испытательного срока (Trial Period Start Date и Trial Period End Date).
Зарплата Оклад (Salary) Зависит от: условия трудового договора (SMA Labor Contract Terms). Ищется сумма для элементов зарплаты (оклад/ставка), определенных в настройках Персонала (Element Code Salary Days, Salary Hours, Salary Amount, Hourly Rate, Daily Rate).
Валюта Валюта (Currency) Зависит от: валюта в условиях трудового договора. Если пустая — берется код локальной валюты из настроек главной книги. Передается ISO-код валюты.
Статус (Status) Статус (Status) Маппинг: Открыто → «Open», Утверждено → «Approved»

3.9. Причины отсутствия (Business Central) → Причины отсутствия (HCM & LMS)

Операции: создание, изменение, удаление

Обратите внимание: синхронизируются только причины отсутствия, у которых включен флажок «Export to HCM» (SMA Export to HCM = Да). Этот флажок добавляется расширением коннектора к стандартной таблице «Причины отсутствия» (Cause of Absence).

Синхронизация инициируется при: создании, изменении полей Описание, Детальное описание, Тип временной активности или флажка Export to HCM, удалении.

Поле Business Central Поле HCM & LMS Описание и зависимости
Код (Code) Код (code) Код причины отсутствия
Описание (Description) Название (name) Название причины отсутствия
Детальное описание (SMA Detailed Description) Описание (description) Развернутое описание причины
Тип временной активности (SMA Time Activity Type) Тип (type) Текстовое значение типа
Группа временной активности Группа (groupid) Определяется автоматически: ищется группа временных активностей (с флажком Export to HCM), которая содержит этот код отсутствия в своих кодах фильтрации. Если группа не найдена — пустое значение.

3.10. Группы временных активностей (Business Central) → Группы отсутствий (HCM & LMS)

Операции: создание, изменение, удаление

Обратите внимание: синхронизируются только группы, у которых включен флажок «Export to HCM» (SMA Export to HCM = Да). Этот флажок добавляется расширением коннектора к таблице «Группы временных активностей» (SMA Time Activity Group).

Поле Business Central Поле HCM & LMS Описание и зависимости
Описание (Description) Название (name) Название группы отсутствий
Описание (Description) Описание (description) Дублируется в поле описания

3.11. Заявления на отсутствие (Business Central) ← Отсутствия (HCM & LMS)

Направление: HCM & LMS → Business Central

В Business Central создаются заявления трех типов: Заявление на отпуск, Заявление на командировку, Заявление на прочие отсутствия.

Поле Business Central Поле HCM & LMS Описание и зависимости
Код Код Создание, изменение, удаление
Описание Название Создание, изменение, удаление
Код временной активности Код отсутствия (Reason code) Заполнение внешнего ключа для такого кода является обязательным. Создание, изменение, удаление.
Группа временной активности Группа временной активности Заполнение внешнего ключа для такой группы является обязательным. Выбирается или код, или группа.
Дата запроса Дата запроса Создание, изменение, удаление
Дата начала Дата Начала Создание, изменение, удаление
Дата окончания Дата окончания Создание, изменение, удаление
Календарные дни Количество дней Создание, изменение, удаление

3.12. Операции начисления по сотруднику (Business Central) → Баланс отсутствий (HCM & LMS)

Операции: создание

Поле Business Central Поле HCM & LMS Описание и зависимости
На дату На дату Дата расчета баланса
Код временной активности Код отсутствия (Reason code) Код причины отсутствия
Плановые календарные дни Плановые календарные дни Запланированные дни
Использование календарных дней Использование календарных дней Использованные дни
Компенсация календарных дней Компенсация календарных дней Компенсированные дни
Плановый баланс календарные дни Плановый баланс календарные дни Плановый остаток
Баланс на дату Баланс на дату Фактический остаток на дату

3.13. Зарплатные документы (Business Central) → Документы выплат (HCM & LMS)

Операции: создание

Синхронизация инициируется при: учете (posting) зарплатного документа.

Зависимости: синхронизация работает только если поле Enable Payroll Documents включено в настройках. Если также включено Enable Between Payroll Docs — синхронизируются и межпериодные документы. Иначе — только документы с пустым типом группы расчета.

Заголовок

Поле Business Central Поле HCM & LMS Описание и зависимости
Номер документа (No.) Номер (DocumentNumber) Номер зарплатного документа
Код работника (Employee No.) Код работника (EmployeeId) Номер сотрудника
Описание (Posting Description) Описание (Name) Описание проводки
Дата учета (Posting Date) Дата учета (PostingDate) Дата учета документа
Код периода (Period Code) Период (Period) Зависит от: справочник Зарплатные периоды. Передается название периода.
Сторнировано (Reversed) Корректировка (IsCorrected) Флажок сторнирования. Передается только если документ сторнирован.

Строки

Поле Business Central Поле HCM & LMS Описание и зависимости
Тип элемента Тип элемента Тип элемента расчета
Код элемента Код элемента Код элемента расчета
Описание Описание Описание элемента
Плановые часы Плановые часы Плановые часы
Фактические часы Фактические часы Фактические часы
Сумма заработной платы Сумма заработной платы Сумма начисления
Налогооблагаемая сумма Налогооблагаемая сумма Налогооблагаемая сумма

3.14. Статусы табелей (Business Central) → Табели (HCM & LMS)

Операции: создание, удаление

Зависимости: синхронизация работает только если поле Enable Employee Timesheet включено в настройках. Передаются только табели со статусом «Выпущен» (Released).

Синхронизация инициируется при: изменении статуса табеля на «Выпущен» (создание записи), удалении.

Поле Business Central Поле HCM & LMS Описание и зависимости
ФИО + Период Название (Name) Формируется автоматически: полное имя сотрудника + « - » + название периода
Физ. лицо Контакт (ContactId) Зависит от: Сотрудник → Физ. лицо. Передается SystemId физ. лица. Для кросс-компанийных лиц — SystemId из основной компании.
Трудовой договор Контракт (ContractId) Зависит от: Сотрудник → Трудовой договор. Передается SystemId трудового договора.
Код периода (Period Code) Период (Period) Зависит от: справочник Зарплатные периоды. Передается название периода.

Шаг 4: Создание записей в таблице HCM & LMS Integration Records

При каких-либо изменениях в указанных полях страниц в Шаге 3, на странице HCM & LMS Integration Records отображаются записи этих изменений. Каждая запись соответствует одной операции синхронизации.

Поле Описание
Номер операции (Entry No.) Порядковый номер записи
Тип записи (Record Type) Тип операции: Создание, Изменение, Удаление
Таблица (Table Id) Номер таблицы, в которой произошло изменение
Название таблицы (Table Name) Название таблицы
Дата и время создания Дата и время создания записи
ID пользователя Код пользователя, инициировавшего изменение
Статус процесса (Processing Status) Статус обработки: «Создано» (ожидает отправки) или «Обработано» (отправлено)
Текст последней ошибки (Last Error Text) Текст ошибки, если отправка завершилась неудачей. Помогает диагностировать проблемы.

Доступные действия на странице

  • Пометить как созданный — возвращает статус записи на «Создано», чтобы очередь задач повторно попробовала её отправить. Используется для повторной отправки после ошибки.
  • Отправить записи — немедленная ручная отправка записей без ожидания очереди задач.
  • Показать информацию запроса — показывает JSON-данные, которые будут или были отправлены в HCM & LMS. Полезно для диагностики.
  • Открыть запись-источник — открывает карточку записи в Business Central, которая инициировала эту запись интеграции.
  • Удалить выбранные — удаляет выбранные записи из очереди интеграции. Это действие не может быть отменено.

Шаг 5: Обработка ошибок и мониторинг

Что происходит при ошибке

Если отправка записи в HCM & LMS завершается ошибкой:

  • Статус записи остается «Создано»
  • Текст ошибки записывается в поле «Текст последней ошибки»
  • При следующем запуске очереди задач система повторно попробует отправить эту запись

Если при обновлении записи (операция «Изменение») HCM & LMS возвращает ошибку 404 (запись не найдена), система автоматически меняет тип операции на «Создание» и повторяет попытку.

Повторная отправка

Для ручной повторной отправки ошибочных записей:

  1. Откройте страницу HCM & LMS Integration Records
  2. Найдите записи со статусом «Обработано» и непустым текстом ошибки
  3. Нажмите «Пометить как созданный» — статус изменится на «Создано»
  4. Запись будет обработана при следующем запуске очереди задач, или нажмите «Отправить записи» для немедленной отправки

Восстановление очереди задач

Если очередь задач остановилась из-за ошибки:

  • Включите поле Restore Integration Func. в настройках HCM & LMS Setup
  • Система автоматически перезапустит очередь при следующем входе пользователя с соответствующими правами
  • Рекомендуемый интервал очереди задач: 1–5 минут