Настройки перехода из шлюза
Вкладка "Условие перехода"
В настройках перехода, исходящего из шлюза, имеющего тип Исключающий ИЛИ-шлюз или Неисключающий ИЛИ-шлюз, появляется вкладка Условие перехода. На этой вкладке можно задать условие, при котором процесс продолжит работу через настраиваемый переход.
Рис. 1. Настройки перехода. Вкладка "Условие перехода"
Табличный вид условия
В табличном виде предлагается добавить последовательно одно или несколько условий, а также операцию, используемую для вычисления результата проверки условий (рис.1)
. Если после вычислений получен результат "истина", процесс продолжает работу по настраиваемому переходу. Для шлюза, имеющего тип Исключающий ИЛИ-шлюз настраиваемый переход может быть не достигнут при условии активации одного из переходов, проверяемых ранее в соответствии с Порядком проверки условий в настройках шлюза.
В каждом условии контекстная переменная процесса может сравниваться с другой контекстной переменной, идентификатором объекта системы ELMA,
с заданным значением или со значением служебной переменной шлюза, если она установлена в настройках шлюза (рис. 2).
Рис. 2. Вкладка "Условие перехода". Табличный вид условия
–
добавить условие. –
удалить условие.
Связка – операция, используемая для вычисления результата проверки условий:
-
И –
результат проверки будет положительным, если выполнены оба условия;
-
ИЛИ –
результат проверки будет положительным, если выполнено хотя бы одно условие;
-
И НЕ –
результат проверки будет положительным, если не выполнены оба условия;
-
ИЛИ НЕ –
результат проверки будет положительным, если не выполнено хотя бы одно условие.
Связка доступна в том случае, если задано более одного условия.
Внимание!
В таблице условий связки И, И-НЕ имеют приоритет перед связками ИЛИ, ИЛИ-НЕ. Например: Условие1 ИЛИ Условие2 И Условие3 ИЛИ-НЕ Условие4 И-НЕ Условие5 = Условие1 ИЛИ (Условие2 И Условие3) ИЛИ-НЕ (Условие4 И-НЕ Условие5).
|
Для установки условия необходимо заполнить столбцы Связка, Операнд 1, Операция, Операнд 2. Чтобы выбрать связку, операнды и операцию, нужно кликать мышью по соответствующим ссылкам в столбцах таблицы. Чтобы выбрать связку, операнды и операцию, нужно кликать мышью по соответствующим ссылкам в столбцах таблицы.
Операнды
Операнд 1 –
контекстная переменная процесса или служебная переменная шлюза, если она установлена в настройках шлюза.
Операнд 2 –
контекстная переменная процесса, идентификатор объекта системы ELMA, определенное
значение или служебная переменная шлюза, если она установлена в настройках шлюза, с которыми сравнивается Операнд 1.
Для того, чтобы указать идентификатор объекта системы ELMA, необходимо при выборе Операнда 2 нажать на кнопку Изменить значение. Будет открыто окно для ввода идентификатора объекта (рис. 3).
Рис. 3. Окно для ввода значения Операнда 2
При вводе идентификатора объекта отображается кнопка Проверить (рис. 3), с помощью которой проверяется наличие в системе объекта с указанным идентификатором. При его наличии отображается соответствующее уведомление, а в столбец Операнд 2 добавляется запись с идентификатором объекта и его названием (рис. 4).
Рис. 4. Вкладка "Условие перехода". Запись условия с идентификатором объекта
При отсутствии объекта в системе также отображается соответствующее уведомление, необходимо указать другой идентификатор.
Операции
При переходе из
Исключающего ИЛИ-шлюза или
Неисключающего ИЛИ-шлюза производятся операции сравнения Операнда 1 и Операнда 2 (рис.5). Для успешной проверки условия необходимо, чтобы Операнд 1 и Операнд 2 имели одинаковый тип данных (например,
Простой тип данных или
Объект платформы).
Рис. 5. Вкладка "Условие перехода". Операции
-
= (равно) – результат "истина" устанавливается, если Операнд 1 равен Операнду 2;
-
< > (не равно) – результат "истина" устанавливается, если Операнд 1 не равен Операнду 2;
-
> (больше) – результат "истина" устанавливается, если Операнд 1 больше Операнда 2;
-
< (меньше) – результат "истина" устанавливается, если Операнд 1 меньше Операнда 2;
-
> = (больше или равно) – результат "истина" устанавливается, если Операнд 1 больше или равен Операнду 2;
-
< = (меньше или равно) – результат "истина" устанавливается, если Операнд 1 меньше или равен Операнду 2.
Для операндов с другим типом данных могут быть выбраны следующие операции:
-
Начинается с – проверяется наличие совпадений между произвольным количеством символов Операнда 1 и Операнда 2, расположенных в начале слова;
-
Оканчивается на – проверяется наличие совпадений между произвольным количеством символов Операнда 1 и Операнда 2, расположенных в конце слова;
-
Содержит – сравниваются все символы Операнда 1 со всеми символами Операнда 2. Результат "истина" устанавливается, если Операнд 1 включает в себя Операнд 2;
-
Не содержит – сравниваются все символы Операнда 1 со всеми символами Операнда 2. Результат "истина" устанавливается, если Операнд 1 не включает в себя Операнд 2;
-
Равно (без учета регистра) – проверяется эквивалентность всех символов Операнда 1 всем символам Операнда 2 без учета регистра;
-
Не равно (без учета регистра) – проверяется неэквивалентность всех символов Операнда 1 всем символам Операнда 2 без учета регистра;
-
Начинается с (без учета регистра) – проверяется наличие совпадений между произвольным количеством символов Операнда 1 и Операнда 2, расположенных в начале слова, без учета регистра;
-
Заканчивается на (без учета регистра) – проверяется наличие совпадений между произвольным количеством символов Операнда 1 и Операнда 2, расположенных в конце слова, без учета регистра;
-
Содержит (без учета регистра) – сравниваются все символы Операнда 1 со всеми символами Операнда 2 без учета регистра. Результат "истина" устанавливается, если Операнд 1 включает в себя Операнд 2;
-
Не содержит (без учета регистра) – сравниваются все символы Операнда 1 со всеми символами Операнда 2 без учета регистра. Результат "истина" устанавливается, если Операнд 1 не включает в себя Операнд 2.
Вид условия "Сценарий"
Сценарий – это функция, написанная на языке C#.
Сценарий можно выбрать из выпадающего списка или добавить с помощью кнопки
(рис. 6).
Используемый сценарий должен возвращать булево значение (тип данных C# bool, значение "true" или "false").
Рис. 6. Вкладка "Условие выполнения". Вид условия Сценарий
Кнопка Перейти позволяет перейти к выбранному сценарию на вкладке Сценарии процесса. На данной вкладке доступны специальные инструменты написания сценариев, такие как синтаксическая подсветка кода, технология автодополнения функций и переменных IntelliSense, ссылки на сборки и веб-сервисы. Если служебная переменная установлена в настройках шлюза, в сценарии она будет доступна под именем GatewayVar. Тип переменной C# object.
См. также: