Произвольные события удобно использовать для вызова пакета действий для задач из другой категории — но не для конкретных задач, а для всех задач категории (отфильтрованных по некоторым условиям).
Пример 1 - при поступлении очередного платежа от клиента необходимо пересчитать общую сумму задолженности по данному клиенту. В этом случае можно с помощью смарт-выражения отобрать конкретные задачи в категориях "Задолженности" и "Платежи", подсчитать остаток и записать его в конкретную задачу в категории "Клиенты". Поскольку нет необходимости обрабатывать все задачи категорий, можно обойтись без использования произвольного события.
Пример 2 — в категории "Клиенты" есть ряд параметров, по которым рассчитывается рейтинг клиента. По решению ответственного сотрудника выполняется перерасчет рейтингов сразу для всех клиентов. Это может быть реализовано с помощью произвольного события (см. пример ниже).
Схема обработки произвольного события.
Настройки для обработки произвольного события
Список произвольных событий формируется отдельно для каждой категории на вкладке SMART, в таблице "Произвольные события". Для каждого произвольного события указываются имя события (краткое описание) и код (код должен быть уникальным в рамках категории, допустимые символы: цифры и буквы латиницы, без пробелов).
Смарт-автоматизация произвольных событий.
Для вызова событий следует использовать смарт-действие "Инициировать произвольное событие", в параметрах которого можно указывать произвольные события из любых категорий. Также можно указывать сферу действия события – в текущей задаче, в задаче с определенным номером или в задаче с номером, вычисляемым смарт-выражением (также можно передавать список номеров задач в формате {НомерЗадачи1, НомерЗадачи2, ...} или использовать отборы из коллекций):
Настройка смарт-действия "Инициировать произвольное событие".
Для запуска пакета следует привязать его к событию "При произвольном событии":
Пример настройки произвольного события
В категории "Клиенты" есть ряд параметров, по которым рассчитывается рейтинг клиента. По решению ответственного сотрудника выполняется перерасчет рейтингов сразу для всех клиентов. Схема. 1.В категории "Клиенты" создается произвольное событие UpdateRatings. Создание произвольного события. Здесь же создается пакет действий для расчета рейтинга, привязанный к событию "При произвольном событии" и указывающий на UpdateRatings. Привязка пакета к событию. В этом пакете реализуется расчет ДП "Рейтинг клиента" по другим ДП текущей задачи. Настройка смарт-действия для расчета рейтинга. 2.В служебной категории "Для рейтингов" создается пакет действий с действием "Инициировать произвольное событие", указывающее на UpdateRatings из категории "Клиенты". В нем формируется список задач из категории "Клиенты", в которых будет инициировано это событие (например, все активные задачи). Настройка смарт-действия обновления рейтинга для множества задач. Этот пакет действий назначается для настраиваемой кнопки "Обновить рейтинги": <%PIC++%> Привязка пакета к кнопке. 3. В пользовательском режиме в служебной категории "Для рейтингов" создается единственная задача. В нужный момент ответственный сотрудник нажимает в этой задаче кнопку "Обновить рейтинги", и во всех активных задачах категории "Клиенты" инициируется событие UpdateRatings, по которому выполняется перерасчет рейтинга. |