Обработка событий в модулях

В рамках модуля вы можете настроить обработку различных событий системы.

Обработчик события запускает определённое действие в системе после того, как событие произошло. Это удобно при разработке комплексных модулей. Например, обработчик может запускать бизнес-процесс, настроенный внутри модуля, после редактирования элемента приложения.

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

начало внимание

Действие Передача сообщения в сервис доступно только в ELMA365 On‑Premises.

конец внимание

Чтобы создать обработчик событий:

  1. Перейдите в Администрирование > Модули.
  2. Наведите курсор на модуль и нажмите на появившийся значок шестерёнки.
  3. Перейдите на вкладку Обработка событий.
  4. Нажмите кнопку + Обработчик и задайте необходимые настройки в открывшемся окне.

events_processing-1

  • Название* — укажите название обработчика;
  • Домен события — выберите область, события в которой будет отслеживать обработчик. Вы можете выбрать следующие домены:
    • Все события;
    • Элементы приложения — в появившемся поле Фильтр типа объекта выберите приложение, события которого будут обрабатываться. Если не выбирать приложение, модуль будет отслеживать события всех существующих в системе приложений. Обратите внимание, если приложение выбрано, невозможно экспортировать модуль. Это связано с ограничением на выгрузку модуля, связанного с приложением, которое не является частью модуля;
    • Задачи — обработчик будет фиксировать события, связанные с созданием, изменением, отменой или завершением активностей CRM. В появившемся поле Фильтр типа задачи укажите тип активности, изменения в которой будут отслеживаться модулем: Все задачи CRM, Звонок, Письмо, Вебинар, Встреча. Обратите внимание, домен доступен только при подключённом платном решении ELMA365 CRM;
    • Приложения;
    • Файлы;
    • Директории;
    • Модули;
    • Настройки;
    • Пользователи.

начало внимание

Домен события Файлы доступен только в ELMA365 On‑Premises.

конец внимание

  • Событие — выберите событие, после которого будет запускаться обработчик. Список событий различается в зависимости от выбранного домена. Списки доступных событий для каждого домена приведены в разделе «Доступные события системы»;
  • Тип обработчика* — выберите действие, которое будет совершаться при выполнении события:
    • Запуск скриптавыполняет сценарий, созданный в обработчике;
    • Запуск процессазапускает бизнес-процесс, созданный в модуле на вкладке Процессы;
    • Передача сообщения в сервис — отправляет сообщение во внешний микросервис. Действие доступно только в ELMA365 On‑Premises.
  1. Нажмите кнопку Создать.
  2. В открывшемся окне:
    • для типа Запуск скрипта — напишите сценарий на вкладке Сценарии. Вы можете получить доступ к переменным из других разделов и пользовательских модулей, настроив опциональные зависимости.

начало внимание

Опциональные зависимости и константа Imports по умолчанию доступны в поставке Saas, а также On‑Premises, начиная с версии системы 2024.2. В более ранних версиях администратору системы нужно включить фича-флаг allowScriptImportsDependencies. Подробнее об этом читайте в статьях «Изменение параметров On-Premises Enterprise» и «Изменение параметров On-Premises Standard».

конец внимание

 

Для создания зависимости на верхней панели нажмите Настройки и добавьте разделы и модули в список. После этого к ним можно обращаться через глобальную константу Imports. Модуль с опциональными зависимостями можно экспортировать без ограничений;

events_processing-4

    • для типа Запуск процесса — выберите бизнес-процесс, созданный на уровне модуля. Затем на вкладке Входные переменные сопоставьте переменные из контекста процесса со свойствами события: объект, название, автор и т. д.;

events_peocessing-2

    • для типа Передача сообщения в сервис — укажите микросервис.
  1. Опубликуйте обработчик.

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

Доступные события системы

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

Для домена Все события доступна одна опция — Все события системы.

Для домена Элементы приложений вы можете выбрать событие:

  • Добавление комментария к элементу приложения;
  • Изменение статуса элемента приложения;
  • Создание элемента приложения;
  • Удаление элемента приложения;
  • Обновление элемента приложения.

Если для событий создания, обновления или удаления элемента в поле Фильтр типа объекта указано приложение, то в сценарий добавляется свойство EventContext. Оно содержит строго типизированные данные элемента приложения и соответствующего события.

Для домена Задачи доступны события:

  • Отмена задачи;
  • Завершение задачи;
  • Создание задачи;
  • Обновление задачи.

Для домена Приложения доступны следующие события:

  • Экспорт данных приложения;
  • Импорт данных приложения.

Для домена Файлы доступны события:

  • Добавление комментария к файлу;
  • Создание файла;
  • Удаление файла;
  • Изменение прав доступа к файлу;
  • Изменение файла.

Для домена Директории вы можете выбрать события:

  • Создание директории;
  • Удаление директории;
  • Изменение прав доступа к директории;
  • Изменение директории.

Для домена Модули доступны следующие события:

  • Выключение модуля;
  • Включение модуля;
  • Установка модуля;
  • Обновление модуля.

Для домена Настройки предусмотрено одно событие — Изменение дополнительных параметров.

Для домена Пользователи можно указать событие:

  • Ошибка авторизации пользователя;
  • Успешная авторизация пользователя;
  • Создание пользователя;
  • Удаление пользователя;
  • Обновление пользователя;
  • Превышение количества попыток входа;
  • Ошибка аутентификации пользователя;
  • Успешная аутентификация пользователя;
  • Выход пользователя из системы;
  • Изменение статуса пользователя;
  • Запрет доступа к данным.

Как отменить действие обработчика

Чтобы отменить действие обработчика, на вкладке Обработка событий нажмите на три точки напротив названия созданного обработчика. Затем выберите кнопку Отмена публикации. При этом после выполнения события действие обработчика не будет совершаться.

Кроме того, при необходимости вы можете удалить существующий обработчик событий. Для этого на вкладке Обработка событий отметьте один или несколько обработчиков в списке. Нажмите на кнопку Удалить, появившуюся в правом верхнем углу страницы.

events_processing-3