[ELMA3] Примеры сценариев для условий на переходах шлюзов
Пример 1
В данном примере показывается, как с помощью сценария сделать так, чтобы в зависимости от выбранного пользователем значения из выпадающего списка, процесс пошел по той или иной ветке.
Создадим контекстную переменную "Тип оценки" типа Выпадающий список, со значениями "Жилая" и "Не жилая".
Затем создадим задачу с этой контекстной переменной "Тип оценки".
На одном из переходов исключающего ИЛИ-шлюза задаем сценарий во вкладке Условие перехода.
Сценарием для шлюза выступает метод C# с вкладки Сценарии процесса. Этот метод должен возвращать булевое значение (true и false).
В сценарии используется служебная переменная для перехода из шлюза gatewayVar, а также созданная нами контекстная переменная "Тип оценки". Проверяется ее соответствие значению "Жилая".
public bool Perehod1(Context context, object GatewayVar) { if (context.TipOcenki.ToString()=="Жилая") { return true; } else { return false; } }
В случае, если это условие выполняется, задача приходит в Отдел жилой недвижимости, если нет – в Отдел нежилой недвижимости, поскольку у нас всего 2 значения в выпадающем списке, и их выбор обязательный.
Пример 2
Рассмотрим другой пример, где в условии перехода исключающего ИЛИ-шлюза анализируется значение контекстной переменной "Сумма заказа". Если ее значение превышает 1000000, в процессе появляется дополнительная задача проверки юристом.
Создадим контекстную переменную Сумма заказа, значение которой будет вносить менеджер в задаче "Заполнить данные для договора". Далее на одном из переходов исключающего ИЛИ-шлюза задаем сценарий во вкладке Условие перехода, в котором будет проверяться значение переменной Сумма заказа.
public bool perehod2(Context context, object GatewayVar) { if (context.SummaZakaza > 1000000) { return true; } else { return false; } }
В случае, если это условие выполняется, юристу приходит задача "Проверка договора", если не выполняется, процесс идет по другой ветке.