> For the complete documentation index, see [llms.txt](https://wfsys.gitbook.io/workflow-forms-syntax/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wfsys.gitbook.io/workflow-forms-syntax/workflow_forms/values/if.md).

# If

#### Тэг `<If>`

Выполнение одной или нескольких команд по условию.

Необязательный тэг. Значение тэга `<If>`: тэг `<When>`, тэг `<Then>`, список тэгов `<ElseIf>`, тэг `<Else>`.

* **Тэг `<When>`**

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

  Обязательный тэг. Ожидается логическое значение.
* **Тэг `<Then>`**

  Команды для выполнения при истинности основного условия.

  Обязательный тэг. Значение тэга `<Then>`: список тэгов `<Command>` и `<If>`.

  * Атрибут `StopOnError`

    Признак, определяющий, будет ли остановлено выполнение команд, если при выполнении очередной произойдет ошибка.

    Необязательный атрибут. Ожидается логическое значение.

    Если атрибут `StopOnError` отсутствует, то используется значение, соответствующее атрибуту `StopOnError` вышестоящей последовательности команд.
  * Атрибут `Lock`

    Признак, определяющий, будет ли блокироваться форма при выполнении команд.

    Необязательный атрибут. Ожидается логическое значение.
* **Тэг `<ElseIf>`**

  Команды для выполнения при ложности основного условия, но при истинности дополнительного условия.

  Необязательный тэг. Значение тэга `<ElseIf>`: тэг `<When>`, тэг `<Then>`.
* **Тэг `<Else>`**

  Команды для выполнения при ложности основного условия и при ложности всех дополнительных условий.

  Необязательный тэг. Значение тэга `<Else>`: список тэгов `<Command>` и `<If>`.

  * Атрибут `StopOnError`

    Признак, определяющий, будет ли остановлено выполнение команд, если при выполнении очередной произойдет ошибка.

    Необязательный атрибут. Ожидается логическое значение.

    Если атрибут `StopOnError` отсутствует, то используется значение, соответствующее атрибуту `StopOnError` вышестоящей последовательности команд.
  * Атрибут `Lock`

    Признак, определяющий, будет ли блокироваться форма при выполнении команд.

    Необязательный атрибут. Ожидается логическое значение.
