Условие

Урок 413 из 931
Автор: Марина Павлова
Сложность урока:
1 уровень - интуитивно все понятно из интерфейса, но почитать стоит.
1 из 5
Просмотров: 39710
Дата изменения: 21.03.2023
Недоступно в лицензиях:
Текущую редакцию Вашего 1С-Битрикс можно просмотреть на странице Обновление платформы (Marketplace > Обновление платформы).
Старт, Стандарт, Малый бизнес

Конструкция позволяет направить бизнес-процесс по разным сценариям в зависимости от заданного типа условия.

  Структура конструкции

При добавлении конструкции Условие в шаблон бизнес-процесса автоматически создаются две ветки (минимальное количество). С помощью знака добавляется новая ветка, а знак на ветке - удаляет её. Других настроек у основного действия нет. В каждой ветке настраиваются условия выполнения этой ветки .

С версии 22.400.0 модуля Бизнес-процессы ветки условий можно легко менять местами и копировать с помощью стрелок и . По клику на стрелку ветка переместится в соответствующую сторону, а при зажатой клавише Ctrl ветка скопируется.

Проверка условий начинается слева направо. Если условие выполняется, то действия, расположенные в ветке под ним, будут исполнены. Если же условие не выполняется, то происходит переход к условию, расположенному правее, и так до тех пор, пока какое-либо условие не будет выполнено.

  Типы условий

В списке типов могут отображаться не все типы условий, перечисленные ниже (зависит от самого бизнес-процесса и наличия переменных/параметров).

Внимание! Если ни одно из условий не выполнится, то, бизнес-процесс продолжит выполнять действия расположенные под конструкцией Условие. Другими словами он ее "перескочит".

  • Смешанное

    Тип условия Смешанное доступен с версии 20.100.0 модуля Бизнес-процессы.

    Тип даёт возможность указать условие одновременно по параметрам, переменным, константам, глобальным константам, глобальным переменным, полям документа и дополнительным результатам без необходимости создавать разные ветки и дополнительные переменные. При это условия объединяются по правилу И / ИЛИ. При выборе И ветка условий будет исполняться при выполнении обоих условий, а при ИЛИ - любого из указанных.

    На скриншоте под номером 1 выбрано условие типа Поле документа, а под номером 2 - Глобальная переменная. Условия объединены правилом И.

  • PHP код

    В качестве условия указывается код Задавать PHP-код может только пользователь с правами администратора. . В случае если указанный PHP код вернет значение true, то будет выполнена ветка действий условия, если возвратится false, то будет произведен переход к следующему условию.

    Внимание! Для этого типа условия можно использовать только PHP-код. Параметры типа {=Variable:Variable2_printable} не поддерживаются. Также результатом выполнения кода в условии должно быть логическое выражение (true или false).

  • Значение переменной

    Ветка действий условия будет выполнена, если совпадут значения, связанные с переменными бизнес-процесса.

    Для этого необходимо выбрать Переменную/Параметр, указать оператор условия из списка и значение.

    Примечание: В этом типе могут быть использованы значения переменных или параметров шаблона. Константы, глобальные константы и глобальные переменные доступны только в типе Смешанное условие.

    Примечание: С версии 20.0.800 модуля Бизнес-процессы добавлены операторы условий не содержит и не содержится в.

  • Поле документа

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

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

    Примечание: С версии 20.0.800 модуля Бизнес-процессы добавлены операторы условий не содержит и не содержится в.

    Примечание: Для типа условия Поле документа есть полезный оператор условия Было изменено (только для Универсальных списков и бизнес-процессов Новостей). Если бизнес-процесс настроен на запуск при изменении документа, то становится возможно определять внутри него измененные поля. Ветка условий в таком случае будет выполняться, если в выбранном в настройках поле документа были внесены какие-то изменения.

    Как настроить условие Было изменено в универсальных списках до версии 16.0.2 (для разработчика)

  • Истина

    Ветка действий будет выполнена сразу. Это условие выполняется всегда.

  Подробнее об условиях И/ИЛИ

Повторим: При выборе И ветка условий будет исполняться при выполнении обоих условий, а при ИЛИ - любого из указанных.
Простое пояснение логики без привязки к бизнес-процессам

Посмотрим пример для конструкции Условие. Допустим у нас есть шаблон бизнес-процесса, в котором по условию определяется предоставить услугу платно или бесплатно. Услуга будет предоставлена платно если поле Комментарий сделки не содержит слова: Благотворительность и Подарок. При составлении условия возникает вопрос что использовать: И или ИЛИ?

Условие ИЛИУсловие И
Нажмите на рисунок, чтобы увеличить Нажмите на рисунок, чтобы увеличить

В зависимости от того, что будет установлено в условии, результаты получатся разными:

Как заполнено поле Комментарий?Результат ИЛИРезультат И
Не содержит оба словаПлатноПлатно
Содержит одно слово из указанныхПлатноБесплатно
Есть оба словаБесплатноБесплатно

Как видим, разница между условиями проявляется когда в комментарии содержится одно слово из двух. В случае с условием ИЛИ - для выполнения условия достаточно, чтобы не содержалось только одно из двух слов, что не соответствует нашей задаче. Аналогично происходит с любым количеством слов.

  Если несколько условий

При использовании нескольких условий и одновременно сравнений И и ИЛИ, приоритет будет у И. В виде формулы это можно представить так:

(УСЛ1 И УСЛ2) ИЛИ (УСЛ3 И УСЛ4)



Курсы разработаны в компании «1С-Битрикс»
Спасибо, мы рады что смогли помочь Вам. Ниже Вы можете оставить свой отзыв или пожелание :)
Нам жаль это слышать… Но мы постараемся быть лучше!

Мы благодарны Вам за помощь в улучшении документации.

Мы стараемся сделать документацию понятнее и доступнее,
и Ваше мнение важно для нас