События пользователей
---------------------

Данные события генерируются для каждого из
нижеописанных случаев изменения *данных пользователей*:

*   ``event.users.account.change`` Изменение данных полей *первичной
    карточки* пользователя, т.е. параметров его учётной записи:

        * Фамилия
        * Имя
        * Отчество
        * Логин
        * Код для показателей
        * e-mail
        * JID
        * Личная папка пользователя

*   ``event.users.formdata.change`` Изменение данных *карточек
    пользователей* на основе *форм*, ассоциированных с ним
    посредством функциональности «Отдел кадров». Для данного
    события передаются следующие данные:

        * ``userID`` - идентификатор пользователя

        * ``formUUID`` - идентификатор формы карточки пользователя

        * ``dataUUID`` - идентификатор данных по форме

*   ``event.users.account.add`` Добавление новой записи учётной
    записи пользователя (и связанными с ней файлами по формам
    «отдела кадров»)

*   ``event.users.account.delete`` Удаление (пометка «удалённые»)
    учётной записи пользователя (и связанных с ней файлов по формам
    «отдела кадров»)

*   ``event.users.contactdata.change`` Изменение «контактных данных»
    пользователя — изменение/добавление записей раздела «Контакты»
    профиля пользователя (модуль «Сотрудники») следующих типов:

        * Skype
        * Рабочий телефон
        * XMPP
        * Адрес
        * Мобильный телефон
        * Почта
        * Телефон

Для всех событий типа ``event.users.*`` передаваемые данные —
идентификатор пользователя Synergy.

События должностей
------------------

Данные события генерируются для каждого из нижеописанных случаев c
*должностями*:

*   ``event.orgstructure.position.add`` Добавление новой должности

*   ``event.orgstructure.position.change`` Изменение данных должности -
    добавление/изменение/удаление следующей информации:

    *   Общее:

        *   Название должности (на трех языках)
        *   Код для показателей
        *   Подразделение
        *   Шифр
        *   Необходимое количество штатных единиц
        *   Тип назначения целей
        *   Номер

    *   Управление модулями
    *   Показатели - статус активности

*   ``event.orgstructure.position.formdata.change`` Изменение данных
    *карточки должности* на основе *формы*, ассоциированной с ней
    посредством функциональности «Отдел кадров». Для данного события
    передаются следующие данные:

        * ``positionID`` - идентификатор должности
        * ``assistantID`` - идентификатор заместителя, передается только при изменении
            данных карточки заместителя
        * ``formUUID`` - идентификатор формы карточки должности
        * ``dataUUID`` - идентификатор данных по форме

*   ``event.orgstructure.position.delete`` Удаление должности

Для всех событий типа ``event.orgstructure.position.*`` передаваемые
данные - идентификатор должности ``Synergy``.

События подразделений
---------------------

Данные события генерируются для каждого из нижеописанных случаев c
*подразделениями*:

*   ``event.orgstructure.department.add`` Добавление нового
    департамента

*   ``event.orgstructure.department.change`` Изменение данных
    подразделения - добавление/изменение/удаление следующей
    информации:

    *   Общее:
        *   Информация о подразделении:
            *   Название (на трех языках)
            *   Номер
            *   Код для показателей
            *   Родительское подразделение (для всех узлов, кроме
                корневого)
            *   Удаленный филиал
        *   Информация о руководителе подразделения:
            *   Название должности (на трех языках)
            *   Тип назначения целей
            *   Руководитель
            *   И.О. руководителя
        *   Заместители:
            *   Название (на трех языках)
            *   Номер
            *   Пользователь
            *   Подразделения, в которых данный пользователь будет
                выполнять обязанности заместителя
    *   Управление модулями
    *   Показатели - статус активности
    *   Права на дела:
        *   Наследовать права от родительского подразделения
        *   Дело
        *   Тип документа

    .. note:: Ввиду особенностей реализации при сохранении
              подразделения отдельно сохраняется его карточка,
              отдельно - заместители. Таким образом, в данном
              случае событие ``event.orgstructure.department.change``
              будет отправлено дважды, а при изменении заместителей
              через метод API ``rest/api/positions/assistant/save`` -
              единожды.

*   ``event.orgstructure.department.formdata.change`` Изменение данных
    *карточки подразделения* на основе *формы*, ассоциированной с ней
    посредством функциональности «Отдел кадров». Для данного события
    передаются следующие данные:

        * ``departmentID`` - идентификатор подразделения

        * ``formUUID`` - идентификатор формы карточки подразделения

        * ``dataUUID`` - идентификатор данных по форме

*   ``event.orgstructure.department.delete`` Удаление подразделения

Для всех событий типа ``event.orgstructure.department.*`` передаваемые
данные - идентификатор подразделения `Synergy`.

События реестров
----------------

Событие для реестра не генерируются самостоятельно и не имеют
предопределенных названий. Для того, чтобы для реестра было
сгенерировано событие, необходимо в процесс активации /
изменения / удаления реестра добавить процесс «Событие реестра»
и указать в поле «Название» его название.

Название события должно начинаться со строки
``event.registries.formdata.``. Для различных событий и для
различных реестров могут быть указаны разные либо одинаковые
названия событий в зависимости от целей решаемой задачи.

.. figure:: _static/img/integration/registries-event.png
   :scale: 50%

   Процесс «Событие реестра»

События адресной книги
----------------------

Объекты адресной книги (люди, организации) могут генерировать
следующие события:

*   ``event.addressbook.contact.add`` Добавление нового контакта
    адресной книги

*   ``event.addressbook.contact.change`` Изменение данных контакта
    адресной книги: добавление / изменение / удаление записей
    карточки контакта. Событие генерируется при изменении:

    *   данных в дополнительной карточке

    *   данных в стандартной карточке:

        -   «Люди»: ФИО, дата рождения, изображение, телефон,
            мобильный, e-mail, адрес, IM, URL, место работы,
            примечание, ключевые слова, поля дополнительной
            карточки, а также доступность контакта
        -   «Организации»: название, изображение, сайт, адрес,
            телефон, мобильный, e-mail, поля дополнительной
            карточки, а также доступность контакта

*   ``event.addressbook.contact.change`` Изменение данных
    контакта адресной книги

*   ``event.addressbook.contact.delete`` Удаление контакта
    адресной книги

Для всех событий типа ``event.addressbook.contact.*`` передаваемые
данные - это идентификатор контакта адресной книги Synergy.
