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

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

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

При наступлении события в системе может:

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

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

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

events_processing-1

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

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

Обратите внимание, модуль с созданным обработчиком и указанным в нём приложением, нельзя экспортировать. Вы можете создать решение и выгрузить модуль и приложение в его составе;

    • Задачи — домен доступен при активированном платном решении CRM, в котором включено использование задач CRM. Обработчик фиксирует события, связанные с созданием, изменением, отменой или завершением задач CRM. В появившемся поле Фильтр типа задачи укажите тип задачи, изменения в которой будут отслеживаться модулем: Все задачи CRM, Звонок, Письмо, Вебинар, Встреча. Подробнее о настройке обработчика этого типа читайте в статье «Обработка событий в задачах CRM»;
    • Приложения — обработчик отслеживает события экспорта или импорта приложений системы;
    • Файлы — позволяет фиксировать создание, редактирование, удаление файла, добавление к нему комментариев и изменение настроек доступа;
    • Директории — отслеживает создание, редактирование, удаление и изменение настроек доступа для папок в разделе Файлы;
    • Дубли — настроить обработчик можно при активированном платном решении CRM, в котором включён поиск дублей, т. е. элементов приложения с одинаковыми данными. Действие в обработчике запускается при объединении записей-дубликатов. Пример такого обработчика можно посмотреть в статье «Обработка событий в дублях»;
    • Модули — обработчик может срабатывать при установке, включении, обновлении и выключении модуля;
    • Настройки — фиксируется редактирование дополнительных параметров, настроенных на уровне компании, раздела или приложения;
    • Пользователи — отслеживаются события, связанные с управлением аккаунтом пользователя, а также действия самого пользователя, например, изменение статуса, ошибка авторизации, выход из системы и т. д.
  • Событие — выберите событие, после которого будет запускаться обработчик;
  • Тип обработчика* — выберите действие, которое будет совершаться при выполнении события:
    • Запуск скриптавыполняет сценарий, созданный в обработчике;
    • Запуск процессазапускает бизнес-процесс, созданный в модуле на вкладке Процессы;
    • Передача сообщения в сервис — отправляет сообщение во внешний микросервис. Действие доступно только в 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. Опубликуйте обработчик.

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

В ELMA365 Community вы можете ознакомиться с настройкой обработчиков на примерах:

Кроме того, с использованием обработчиков с доменами, доступными только при активированном решении CRM, можно ознакомиться в статьях «Обработка событий в задачах CRM», «Обработка событий в дублях».

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

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

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

events_processing-3