<< Click to Display Table of Contents >> No-code: бизнес-процессы и интерфейс Вычисляемые выражения |
![]() ![]() ![]() |
Вычисляемое выражение представляет собой цепочку связанных элементов. Каждый последующий элемент уточняет предыдущий. Выражение возвращает значение последнего элемента. Такой подход позволяет сделать универсальной одну схему бизнес-процесса и использовать ее в разных структурных подразделениях.
Элементами выражения могут быть:
•свойства объекта системы – набор полей различных типов, содержащих информацию об объекте: исполнитель поручения, ответственный за организацию, автор документа и т.д. Набор свойств зависит от типа объекта. Например, чтобы вычислить руководителя инициатора задачи, можно использовать выражение из ее свойств: Задача → От → Подразделение → Руководитель.
•ссылки на любые сущности системы. Например, в схеме варианта процесса можно задать условие, в выражении которого указан конкретный вид документа.
Выражения используются при настройке критериев вариантов процессов, вычисляемых ролей, параметров блоков и т.д. Последовательность элементов задается для свойств, шаблонов строк и условий с помощью редакторов. При сохранении выражения выполняется валидация.
Чтобы проверить, правильно ли вычисляются значения в цепочке элементов, необходимо выполнить отладку выражения.
Особенности настройки выражений в локальной системе
Если выражения настраивает разработчик в локальной системе, нужно учитывать особенности:
•в выражениях можно ссылаться только на сущности, которые генерируются программно и ссылки на которые сохраняются в исходные коды;
•может возникнуть ситуация, когда выражение настраивается в локальной системе и в нем используются ссылки на сущности системы. Чтобы такое выражение сохранить в настройки по умолчанию и в дальнейшем корректно опубликовать в продуктивной системе, для каждой используемой сущности нужно программно создать внешнюю ссылку (external link). Это необходимо, чтобы идентификаторы сущностей совпадали во всех системах. Для этого используется серверная функция CreateExternalLink() модуля Docflow. Ее нужно вызывать в коде инициализации модуля, так как ссылка на сущность должна существовать при применении настроек. Метод GetExternalLink() позволяет избежать появления дублей ссылок. Сначала нужно проверить, что ссылка с указанным идентификатором не существует, а затем создать ее.
|
•при сохранении карточки с выражением, содержащим ссылку на сущность, эта ссылка последовательно проверяется по следующим правилам. Если используемая сущность – вариант процесса, вычисляемая роль или другая настройка, то используется ее UUID. Если сущность – субъект прав, то используется SID. В остальных случаях нужна внешняя ссылка на сущность с глобальным идентификатором (GUID). Иначе возникает ошибка валидации.
© Компания Directum, 2024 |