Документация 0.4 Справочник действий

Если

control.if · Управление · контейнер

Выполняет «То» или «Иначе» в зависимости от условия

Выполняет шаги ветки „То“, если условие истинно, иначе — шаги ветки „Иначе“. Ветку „Иначе“ можно оставить пустой. Условие — для проверок данных („сумма больше лимита?“), результата шага („элемент найден?“) и выбора пути процесса.

Свойства #

Свойство Имя в файле Значение Обязательное По умолчанию Описание
Условие condition выражение да — JS-выражение, напр. count > 0

Результат #

Действие не возвращает значений.

Вложенные шаги #

Ветка Имя в файле
То then
Иначе else

Как работает #

  • Условие (condition) — выражение JavaScript без {{ }}: total > 10, found, !found, status === 'Оплачен', /^Z-\d{6}$/.test(requestNumber).
  • Результат понимается по правилам JavaScript: ложны false, 0, пустая строка, null и undefined, остальное истинно. Надёжнее сравнивать явно: count > 0, item !== null.
  • Ветки — обычные последовательности шагов; в них можно класть любые действия, в том числе другие условия и циклы.

Ошибки #

Код Причина и что делать
ExpressionError Ошибка в выражении условия: опечатка в имени переменной, текст без кавычек, {{ }} в поле выражения

Ошибки шагов внутри веток поднимаются выше, как у шагов без условия.

Пример #

{
  "type": "control.if",
  "props": { "condition": "result === `Привет, ${userName}!`" },
  "children": {
    "then": [ { "type": "control.log", "props": { "level": "info", "message": "Проверка пройдена: {{ result }}" } } ],
    "else": [ { "type": "control.throw", "props": { "message": "Неожиданный результат: {{ result }}" } } ]
  }
}