Формулировка проблемы: для возможности синхронизации организационной структуры с другой системой необходима реализация событий изменения должностей и подразделений.
Решение: необходимо реализовать следующие типы событий для:
Должностей
[event.orgstructure.position.add]
Добавление
новой должности
[event.orgstructure.position.change]
Изменение данных должности - добавление/изменение/удаление
следующей информации:
Общее:
Название должности (на трех языках)
Код для показателей
Подразделение
Шифр
Необходимое количество штатных единиц
Тип назначения целей
Номер
Управление модулями
Показатели - статус активности
[event.orgstructure.position.delete]
Удаление
должности
Для всех событий типа
event.orgstructure.position.*
передаваемые данные
- ID
должности Synergy
.
Подразделений
[event.orgstructure.department.add]
Добавление нового департамента
[event.orgstructure.department.change]
Изменение данных подразделения - добавление/изменение/удаление
следующей информации:
Общее:
Информация о подразделении:
Название (на трех языках)
Номер
Код для показателей
Родительское подразделение (для всех узлов, кроме корневого)
Удаленный филиал
Информация о руководителе подразделения:
Название должности (на трех языках)
Тип назначения целей
Руководитель
И.О. руководителя
Заместители:
Название (на трех языках)
Номер
Пользователь
Подразделения, в которых данный пользователь будет выполнять обязанности заместителя
Управление модулями
Показатели - статус активности
Права на дела:
Наследовать права от родительского подразделения
Дело
Тип документа
Замечание
Ввиду особенностей реализации при сохранении подразделения отдельно сохраняется его карточка, отдельно - заместители. Таким образом, в данном случае событие
event.orgstructure.department.change
будет отправлено дважды, а при изменении заместителей через метод APIrest/api/positions/assistant/save
- единожды.
[event.orgstructure.department.delete]
Удаление подразделения
Для всех событий типа
event.orgstructure.department.*
передаваемые
данные - ID
подразделения
Synergy
.