Мета бизнес-процесса¶
Описание¶
Бизнес-процесс - это четкая последовательность действий, которую выполняют для получения заданного результата. Как правило, процесс многократно повторяется. Применение бизнес-процесса позволяет отображать стадии выполняемого процесса и задавать условия для его выполнения.
JSON¶
{
"name": "basic",
"caption": "Поручения",
"wfClass": "basic",
"startState": "new",
"states": [],
"transitions": [],
"metaVersion": "2.0.61"
}
Описание полей¶
Поле | Наименование | Описание |
---|---|---|
"name" |
Системное имя | Системное имя бизнес-процесса |
"caption" |
Логическое имя | логическое имя бизнес-процесса |
"wfClass" |
Класс БП | Класс, к которому применяется бизнес-процесс |
"startState" |
Статус | Статус, присвоенный началу бизнес-процесса |
"states" |
Список статусов | Список статусов бизнес-процесса. |
"transitions" |
Переходы | Переходы между статусами для бизнес-процесса. |
"metaVersion" |
Версионирование | Версия метаданных. |
Условие «contains» («содержит»)¶
Внимание! Чтобы в БП работало поле «contains», в коллекции должна быть настроена жадная загрузка. Иначе в коллекции будет пусто, и результат будет всегда false. Условия применяются к объекту извлеченному из БД, дополнительных запросов не делается.
Пример¶
{
"property": "charge",
"operation": 10,
"value": null,
"nestedConditions": [
{
"property": "state",
"operation": 1,
"value": [
"close"
],
"nestedConditions": []
}
]
}
Настройка подсказок¶
Настройка подсказок при переходе по статусу БП - представляет собой вывод инструкции в отдельном модальном окне с кнопками - «продолжить» или «отменить». При наведении на кнопку появляется всплывающий хинт, для более удобного использования бизнес-процессов.
Пример¶
"transitions": [
{
...
"confirm": true,
"confirmMessage": null
}
"confirm"
- подтверждение действия на переходе (+ стандартный вывод текста - вы действительно хотите выполнить действие «name»)."confirmMessage"
- уникальный текст для вывода в подтверждении взамен стандартного.
Утилита формирования массива объектов¶
Утилита позволяет создавать объект в коллекцию при переходе основного объекта в заданный статус. Поля созданного объекта автоматически заполняются в соответствии с настройками, заданными для свойства "values"
.
Теперь чтобы прикрепить утилиту создания значений показателя к этапу БП, надо в di
в свойстве options
прописать опцию
state - имя этапа БП
при переходе на который, должны создаваться объекты в коллекцию.
Есть возможность использовать утилиту как «action». При переделке нужно просто убрать команду из модели представления. Параметры задаются в файле deploy.json проекта. Синтаксис настройки:
"map": {
"workflow@namespace.stage": {
"className@namespace": { // для объекта какого класса создается объект в коллекцию
"collection": { // наименование атрибута коллекции, в которой создается объект
"elementClass": "className2@namespace", // класс, объекты которого создаются утилитой
"patterns": [
{
"values": {
"attr1": "string", // строка
"attr2": 123, // число
"attr3": true,
"attr4": "$containerProperty1", // свойство контейнера
"attr5": {"add": ["$containerProperty2", 300]} // формула
},
"push": [
"workflow2@namespace.stage1", // присвоение БП созданных объектов статуса
]
},
...
]
},
...
},
...
},
....
}
Безопасность бизнес-процесса¶
Безопасность в бизнес-процессе нужна для контроля прав над конкретным объектом одним пользователем и задается через мету класса, статусы и переходы бизнес-процесса. Подробнее о безопасности БП.