logo

[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;
		}
}

В случае, если это условие выполняется, юристу приходит задача "Проверка договора", если не выполняется, процесс идет по другой ветке.

Прикрепленные файлы