Для каждого шага процесса может существовать входное условие. Оно
определяет, выполняется ли шаг. Как и для сценариев заключительной обработки,
для входных условий используется язык JavaScript.
Входные условия возвращают булевские значения. При возврате значения True
шаг выполняется как обычно.
Если входное условие возвращает любое значение, отличное от True, то
процесс пропускает этот шаг. В запросе процесса шаг имеет метку "Входное
условие не выполнено". Однако в этом случае процесс продолжает выполняться по
соединениям success, исходящим от этого шага, так, как будто шаг успешно
выполнен.
Входное условие имеет доступ к тем же свойствам, к которым
обращается шаг. Например процессы приложения имеют доступ к следующим свойствам:
- Свойства приложения
- Свойства процесса приложения
- Свойства среды, включая свойства среды компонента
- Системные свойства
После выполнения процесса можно просмотреть
свойства, к которым он обращался. Откройте для этого запрос процесса и
перейдите на вкладку
Свойства.
Для доступа к свойству используйте команду
properties.get().
Например, следующий код извлекает значение свойства приложения:
properties.get("application/property1")
В следующем примере входное условие разрешает выполнять шаг только в том
случае, если свойство
property1 приложения существует и не
равно нулю:
properties.get("application/property1") !== undefined &&
properties.get("application/property1") !== null &&
properties.get("application/property1") !== ""
Сценарии входного условия могут обращаться к свойствам процесса. Например,
если процесс имеет свойство с именем
processProperty1, то для
обращения к этому свойству можно использовать следующий код:
properties.get("processProperty1")
Сценарии предварительного условия в процессах компонента и общих процессах
могут обращаться к выходным свойствам предыдущих шагов. Предположим, например,
что сценарий заключительной обработки шага с именем
Step1
задает свойство с именем
OutputProp1. Следующий сценарий
входного условия разрешает выполнять другой шаг только в том случае, если
значение этого свойства равно
value1:
properties.get("Step1/OutputProp1") == "value1"
Входные свойства имеют доступ к свойству с именем
hasFailures.
Это свойство равно
True, если какой-то из шагов процесса не
выполнен. Если невыполненные шаги отсутствуют, свойство имеет значение
undefined (не определено). Например, если требуется, чтобы шаг выполнялся
только в том случае, если в процессе нет невыполненных шагов, используйте
следующее входное условие:
properties.get('hasFailures') == undefined