Запуск процесса

Инстанс процесса можно запустить вручную или автоматически. Вручную его запускает сотрудник со страницы «Задачи». Автоматический запуск вызывает событие жизненного цикла сущности, например создание сделки или обновление документа.

Ручной запуск

Сотрудник открывает страницу «Задачи» и выбирает Запустить процесс. В диалоге перечислены активные процессы, которые сотруднику разрешено запускать.

Если у процесса есть стартовая форма, сотрудник заполняет её перед запуском. Значения формы становятся переменными процесса, доступными на первом шаге.

Кто может запускать процесс

Права на запуск настраиваются для каждого процесса на вкладке Роли & Доступ на странице процесса.

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

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

Автоматический запуск по событиям сущностей

CityScreen Deals отправляет событие-сигнал всякий раз, когда определённые сущности создаются, обновляются или меняют состояние. Процесс может «слушать» эти сигналы, если смоделировать в нём стартовое событие-сигнал (Signal Start Event) с совпадающим именем сигнала.

Соглашение об именах сигналов

Имя сигнала строится по шаблону:

entity_<entityType>_<eventType>

Где:

  • <entityType> — машинное имя типа сущности. Для встроенных типов используйте имя строчными буквами (например, deal). Для типов, которые определил администратор (документы, предложения, справочники, контрагенты), используйте машинное имя, присвоенное при создании типа сущности.

  • <eventType> — событие жизненного цикла: create, update или state (для смены этапа сделки).

Примеры:

  • entity_deal_create — срабатывает при создании новой сделки.

  • entity_deal_state — срабатывает, когда сделка меняет этап.

  • entity_PRINTED_INVENTORY_PROPOSAL_create — срабатывает при создании нового предложения типа с машинным именем PRINTED_INVENTORY_PROPOSAL.

  • entity_contract_update — срабатывает при обновлении документа типа с машинным именем contract.

Имя сигнала должно совпадать точно, включая регистр букв. Опечатка в имени сигнала означает, что процесс не запустится.

Как смоделировать автоматический запуск

  1. Добавьте в диаграмму стартовое событие-сигнал (Signal Start Event), вместо обычного стартового события или вместе с ним.

  2. Откройте общую панель свойств события-сигнала.

  3. Задайте имя сигнала точной строкой entity_<entityType>_<eventType>.

Переменные сигнала

Когда сигнал срабатывает, данные события передаются в новый инстанс процесса как переменные процесса. Какие переменные доступны, зависит от типа сущности и типа события. Эти переменные могут читать следующие задачи и скрипты процесса.

Приём сигналов в запущенном процессе

Сигнал может также принять запущенный инстанс процесса с помощью промежуточного события-сигнала приёма (Signal Intermediate Catch Event) или граничного события-сигнала (Signal Boundary Event). Так процесс может дождаться определённого события сущности, прежде чем продолжить.

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

Предварительные условия автоматизации процессов

Модуль автоматизации процессов должен быть включён для организации сотрудниками CityScreen, иначе процессы запускать нельзя. Сигналы жизненного цикла сущностей не отправляются, если модуль не включён, поэтому автоматический запуск не сработает, даже если диаграмма настроена правильно.