Использовать подпроцесс

Продукты
Все продукты

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

Добавить подпроцесс 

Пример. Процесс продажи (Рис. 1) должен иметь подчиненный процесс по проведению встречи с клиентом (Рис. 2).

Рис. 1 — Процесс продажи
scr_process_creation_designer_process_sales.png
Рис. 2 — Процесс проведения встречи с клиентом
scr_process_creation_designer_ask_conditional_variants.png

В процесс проведения продажи добавим подпроцесс проведения встречи (Рис. 1):

  1. Поместите элемент Подпроцесс на схему бизнес-процесса после действия Зарегистрировать продажу.

  2. На панели настройки элемента в поле Процесс выберите процесс, который должен запускаться при выполнении данного элемента (Рис. 3).

    Рис. 3 — Выбор процесса, который должен быть запущен в рамках подпроцесса
    scr_process_creation_designer_choose_subprocess_name.png
  3. Сохраните процесс.

    В результате при выполнении процесса продажи вначале будут выполнены элементы, предшествующие подпроцессу, после чего будет выполнен подпроцесс проведения встречи с клиентом. По завершении подпроцесса продолжится выполнение родительского процесса (Рис. 4).

    Рис. 4  — Процесс продажи с включенным подпроцессом проведения встречи с клиентом
    scr_process_creation_designer_process_sales_with_subprocess_presentation.png

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

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

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

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

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

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

Добавить параметр 

Чтобы добавить параметр в подпроцесс “Встреча с клиентом” (Рис. 2):

  1. Откройте подпроцесс “Встреча с клиентом” и дважды кликните курсором мыши на рабочей области дизайнера процессов.

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

  2. На вкладке Параметры страницы настройки бизнес-процесса нажмите на кнопку Добавить параметр.

  3. Выберите тип данных “Справочник”.

  4. Заполните свойства параметра процесса (Рис. 5):

    Рис. 5 — Свойства параметра процесса
    scr_process_creation_designer_subprocess_param_field.png
  1. Введите название параметра.

  2. В поле Справочник выберите справочник “Результат активности”.

  3. Укажите источник значения для параметра.

    1. Нажмите на поле Значение и выберите пункт Параметр процесса в меню значений.

    2. Чтобы значение параметра соответствовало значению действия “Позвонить клиенту”, установите параметр Результат активности этого действия как источник значения результирующего параметра процесса (Рис. 6).

      Рис. 6 — Источник значения параметра процесса
      scr_process_creation_designer_subprocess_result_param.png
  4. Нажмите кнопку Выбрать окна определения значения параметра.
  5. Сохраните параметр процесса.

  6. Сохраните процесс.

    После добавления в подпроцесс параметра с результатом активности необходимо в родительском процессе сформировать условия перехода по условному потоку.

Получить результат 

Чтобы сформировать условия перехода по условному потоку после завершения подпроцесса “Встреча с клиентом” (Рис. 2):

  1. Откройте родительский процесс продажи, в котором необходимо обработать завершающий параметр подпроцесса “Встреча с клиентом”.

  2. Добавьте условный поток от элемента Подпроцесс к действию Создать документ.

  3. Нажмите на поле Условие перехода, чтобы открыть окно определения значения параметра для формирования перехода по условному потоку.

  4. В окне определения значения параметра укажите условие перехода, сравнив результирующий параметр подпроцесса с ожидаемым значением (Рис. 7):

    Рис. 7 — Условие перехода по условному потоку
    scr_process_creation_designer_conditional_formula.png
    1. На вкладке Элементы процесса выберите элемент “Встреча с клиентом”.

    2. Выберите добавленный ранее параметр процесса “Провести встречу”.

    3. В области построения формулы введите математический оператор “==”.

    4. Перейдите на вкладку Выбор из справочника и выберите справочник Результат активности.

    5. Выберите значение справочника “Есть интерес”.

  5. Сохраните окно определения значения параметра.

  6. Добавьте поток по умолчанию и от подпроцесса к завершающему событию (Рис. 8).

    Рис. 8 — Подпроцесс “Встреча с клиентом” на схеме родительского процесса
    scr_process_creation_designer_process_sub_conditionals.png
  7. Сохраните процесс.

Использовать событийный подпроцесс 

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

Например, можно настроить, чтобы при выполнении процесса продаж информация по заказу обновлялась на каждой стадии переговоров (Рис. 9).

Рис. 9 — Процесс продаж, содержащий подпроцесс “Изменение заказа”
scr_process_creation_designer_sale_process_with_event_sub.png

Для настройки процесса с событийным подпроцессом “Изменение заказа”:

  1. Добавьте элемент Генерация сообщения на диаграмму процесса после элемента, при выполнении которого наступает событие, инициирующее подпроцесс. В поле Какое сообщение сгенерировать? укажите название сообщения, которое послужит сигналом к запуску подпроцесса. Например, можно указать “Обновить информацию в заказе” (Рис. 10).

    Рис. 10  — Заполнение поля Какое сообщение сгенерировать? панели настройки свойств элемента Генерация сообщения в текущем бизнес-процессе
    scr_process_creation_designer_throw_message_field_value.png
  2. Добавьте элемент Событийный подпроцесс на диаграмму и настройте его шаги (Рис. 11):

    Рис. 11  — Элемент процесса Событийный подпроцесс
    scr_process_creation_designer_event_sub.png
  1. Добавьте начальный элемент Сообщение в область событийного подпроцесса на диаграмме. Убедитесь, что значение, указанное в поле Какое сообщение сгенерировать? элемента совпадает с названием сообщения, которое генерируется соответствующим элементом Генерация сообщения  (Рис. 12).

    Рис. 12 — Заполнение поля Какое сообщение сгенерировать? начального элемента подпроцесса Сообщение
    scr_process_creation_designer_message_start_field_value.png
    1. Добавьте на диаграмму шаги подпроцесса. Например, добавьте элемент Открыть страницу редактирования, при выполнении которого для пользователя откроется страница заказа, а также элемент Отправить email, с помощью которого  о состоянии заказа будут проинформированы все участники сделки.

    2. Соедините элементы подпроцесса потоками управления.

  2. Сохраните процесс.

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

    В результате событийный подпроцесс будет запускаться каждый раз, когда элемент Генерация сообщения текущего процесса сгенерирует соответствующее сообщение. Например, подпроцесс “Изменение заказа” будет запускаться, когда от основного процесса будет поступать сообщение о необходимости обновления информации в заказе.