Просмотров: 20330
Дата последнего изменения: 10.12.2020
Сложность урока:
1 уровень - интуитивно все понятно из интерфейса, но почитать стоит.
2
3
4
5
Недоступно в редакциях:
Старт, Стандарт, Малый бизнес
Конструкция позволяет направить бизнес-процесс по разным сценариям в зависимости от заданного типа условия.
Проверка условий начинается слева направо. Если условие выполняется, то действия, расположенные в ветке под ним, будут исполнены. Если же какое-либо условие не выполняется, то будет произведен переход к условию, расположенному правее и так до тех пор, пока какое-либо условие не будет выполнено.
Типы условий
В списке типов могут отображаться не все типы условий перечисленные ниже (зависит от самого бизнес-процесса и наличия переменных/параметров).
Внимание! Если ни одно из условий не выполнится, то, бизнес-процесс продолжит выполнять действия расположенные под конструкцией Условие. Другими словами он ее "перескочит".
- PHP код
В качестве условия указывается
код
Задавать PHP-код может только пользователь с правами администратора.
. В случае если указанный PHP код вернет значение true
, то будет выполнена ветка действий условия, если возвратится false
, то будет произведен переход к следующему условию.
Внимание! Для этого типа условия можно использовать только PHP-код. Параметры типа {=Variable:Variable2_printable}
не поддерживаются.
Также результатом выполнения кода в условии должно быть логическое выражение (true
или false
).
- Поле документа
Ветка действий условия будет выполнена, если совпадут параметры, связанные с полями документа.
Для этого необходимо выбрать Поле документа, указать оператор условия из списка и значение. Варианты доступных полей значения меняются в зависимости от выбранного поля документа.

Примечание: С версии 20.0.800 модуля Бизнес-процессы добавлены операторы условий не содержит
и не содержится в
.
- Значение переменной
Ветка действий условия
будет выполнена
Примечание: В этом типе могут быть использованы значения, как переменных, так и параметров шаблона.
, если совпадут значения, связанные с переменными бизнес-процесса.
Для этого необходимо выбрать Переменную/Параметр, указать оператор условия из списка и значение.
Примечание: С версии 20.0.800 модуля Бизнес-процессы добавлены операторы условий не содержит
и не содержится в
.
- Истина
Ветка действий будет выполнена сразу. Это условие выполняется всегда.
- Было изменено
Если бизнес-процесс запускается при изменении документа, то есть возможность определять внутри него измененные поля. Ветка условий
будет выполняться
Примечание: Данный тип условий может быть применим только после дополнительных настроек модуля.
, если в поле были внесены какие-то изменения.
Как настроить этот тип условия (для разработчика)
|
Для того, чтобы можно было использовать данный тип условия, нужна реализация на стороне модуля, который работает с процессом. При старте процесса необходимо передавать массив изменившихся полей через параметр CBPDocument::PARAM_MODIFIED_DOCUMENT_FIELDS :
CBPDocument::StartWorkflow(
$arDocumentState["TEMPLATE_ID"],
BizProcDocument::getDocumentComplexId($arParams["IBLOCK_TYPE_ID"], $arResult["ELEMENT_ID"]),
array_merge($arBizProcParametersValues[$arDocumentState["TEMPLATE_ID"]], array(
CBPDocument::PARAM_TAGRET_USER => "user_".intval($GLOBALS["USER"]->GetID()),
CBPDocument::PARAM_MODIFIED_DOCUMENT_FIELDS => $modifiedFields
)),
$arErrorsTmp
);
А для того, чтобы новое условие появилось в редакторе для настройки, необходимо реализовать в документе его поддержку:
public static function isFeatureEnabled($documentType, $feature)
{
return in_array($feature, array(\CBPDocumentService::FEATURE_MARK_MODIFIED_FIELDS));
}
|
- Смешанное
Тип условия Смешанное доступен с версии 20.100.0 модуля Бизнес-процессы.
Тип даёт возможность указать условие одновременно по полям документа, параметрам, переменным, константам или дополнительным результатам без необходимости создавать разные ветки и дополнительные переменные. При это условия объединяются по правилу И / ИЛИ. При выборе И ветка условий будет исполняться при выполнении обоих условий, а при ИЛИ - любого из указанных.

На скриншоте под номером 1 выбрано условие типа Поле документа, а под номером 2 - Переменная. Условия объединены правилом И.
Объединение условий
Для типов условия Поле документа и Значение переменной возможно создание нескольких условий объединенных по правилу И / ИЛИ. Добавление условия выполняется по нажатию на ссылку Добавить условие внизу формы. При выборе И ветка условий будет исполняться при выполнении обоих условий, а при ИЛИ - любого из указанных.