﻿# Обработка событий при изменении статуса оператора 

> [HTML Version](operator-status-events-processing.html)

Обработчик в модуле может фиксировать изменение статуса оператора, чтобы запускать нужные действия с помощью скрипта или бизнес-процесса.

Обработчик сработает, если статус оператора изменился:

- вручную;

- автоматически — оператору присваивается статус **Офлайн** в следующих случаях:

	- при выходе оператора из системы;

	- если пользователь неактивен в течение [установленного администратором срока](general-live-chat-settings.md#inactivity-period);

	- в компании истёк срок лицензии **ELMA365 Omni**.

````
Начало внимание

````
Настраивать обработчик может администратор системы при создании [пользовательского модуля](extentions.md).

````
Конец внимание

## ````
Настроить обработчик смены статуса оператора

Рассмотрим пример настройки обработчика событий, который запустит процесс при смене статуса оператора. В результате руководитель получит уведомление об этом изменении.

### Шаг 1. Настройка бизнес‑процесса в модуле

1. Перейдите в раздел **Администрирование > Модули** и [создайте пользовательский модуль](create-extention.md).

2. В настройках модуля перейдите на вкладку **Процессы** и [добавьте бизнес‑процесс](extention-processes.md), который будет выполняться каждый раз при смене статуса оператора.

Для нашего примера добавим процесс **Уведомление о смене статуса оператора** и настроим его схему следующим образом:

(operator-status-events-processing-1.png)

3. В контексте процесса добавьте переменные:

- **Оператор** (`**operator**`) — свойство типа **Пользователи (один)** для отображения имени сотрудника;

- **Статус** (`**status**`) — свойство типа **Строка (строка)** для передачи данных о статусе оператора;

- **Руководитель оператора** (`**head\_of\_operator**`) — свойство типа **Пользователи (один)** для определения руководителя.

4. Перейдите на вкладку **Схема**. Поскольку участники процесса будут определяться в ходе его выполнения, на схеме процесса создайте [динамические зоны ответственности](360012263032.md#dynamic):

- для оператора;

- для руководителя оператора.

5. В зоне ответственности **Оператор** разместите блок **Получить руководителя**. Он нужен, чтобы определить руководителя в ходе процесса. В настройках блока выберите переменную **Руководитель оператора**, созданную на предыдущем шаге.

6. Чтобы руководитель мог ознакомиться со сменой статуса оператора, в зоне его ответственности добавьте блок **Оповещение**.

В его настройках составьте текст уведомления, который увидит руководитель. На вкладке **Получатели** добавьте контекстную переменную **Руководитель оператора**.

7. Сохраните и опубликуйте процесс.

### Шаг 2. Настройка обработчика событий

После создания бизнес-процесса в модуле выполните следующие действия:

1. В настройках модуля перейдите на вкладку **Обработка событий** и нажмите **+ Обработчик**. В открывшемся окне заполните и сохраните данные:

- название обработчика, например, **Информация об изменении статуса оператора**;

- тип обработчика — **Запуск процесса**;

- домен события — **Пользователи**;

- событие — **Изменение статуса оператора**.

2. В открывшемся окне на вкладке **Настройки** выберите созданный ранее процесс **Уведомление о смене статуса оператора**.

3. Перейдите на вкладку **Входные переменные** и сопоставьте переменные из контекста процесса со свойствами события следующим образом:

- **Оператор** — **Идентификатор пользователя**;

- **Статус** — **Статус**;

- **Руководитель оператора** — оставьте пустое значение, поскольку руководитель будет определяться в ходе бизнес‑процесса.

4. На верхней панели страницы нажмите **Сохранить**, а затем **Опубликовать**, чтобы активировать обработчик событий.

5. Перейдите на страницу управления модулем и включите его.

Теперь, если у оператора изменится статус, его руководитель получит об этом уведомление.