Платформа 3V/Согласование/Статусы и шаги: различия между версиями
Строка 95: | Строка 95: | ||
* workflowId - идентификатор объекта согласования, который будет запускаться как подпроцесс.<br> | * workflowId - идентификатор объекта согласования, который будет запускаться как подпроцесс.<br> | ||
* parameterMappings - настройка связи значения параметра основного процесса и параметра подпроцесса.<br> | * parameterMappings - настройка связи значения параметра основного процесса и параметра подпроцесса.<br> | ||
+ | * subProcessNameTemplate - настройка шаблона для выводимого наименования подпроцесса. Применяется настройка только в источниках согласования. Добавлены подстановки для SubProcessNameTemplate:<br> | ||
+ | - SubProcessName - наименование подпроцесса из модели родительского процесса<br> | ||
+ | - StateName - наименование текущего состояния подпроцесса<br> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;"> | ||
+ | <div style="font-weight:bold;line-height:1.6;">JSON применения настройки SubProcessNameTemplate</div> | ||
+ | <div class="mw-collapsible-content mw-collapsed-content"> | ||
+ | <syntaxhighlight lang="JSON" line> | ||
+ | "subProcesses": [ | ||
+ | { | ||
+ | "workflowId": 172492, | ||
+ | "name": "Подпроцесс 1", | ||
+ | "parameterMappings": [], | ||
+ | "subProcessNameTemplate": "%SubProcessName% - %StateName%" | ||
+ | }, | ||
+ | { | ||
+ | "workflowId": 172488, | ||
+ | "name": "Подпроцесс 2", | ||
+ | "parameterMappings": [], | ||
+ | "subProcessNameTemplate": null | ||
+ | } | ||
+ | ] | ||
+ | </syntaxhighlight> | ||
+ | </div></div> | ||
+ | |||
'''!Важно:''' Подпроцессы не имеют схождений с основным процессом, запускаются только вручную и выполняются параллельно. <br> | '''!Важно:''' Подпроцессы не имеют схождений с основным процессом, запускаются только вручную и выполняются параллельно. <br> | ||
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;"> | <div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;"> |
Версия 09:22, 9 февраля 2022
Схема согласования состоит из состояний (states) и шагов (steps).
В качестве состояния прописываются все задачи, которые необходимы для прохождения бизнес-процесса. Каждое состояние должно иметь уникальный идентификатор, который в дальнейшем используется для описания шагов.
Шаги описывают действия перехода из одного состояния в другое. Можно настроить действия в различном направлении, которое продвигает процесс вперед, либо возвращает назад. Верхнее состояние считается стартовым для процесса. Процесс согласования заканчивается в том случае, если из текущего состояние нет н одного шага для перехода в следующее состояние.
1 "schema": {
2 "states": [
3 …
4 ],
5 "steps": [
6 …
7 ],
8 "startStateId": 1
9 }
Настройка состояний (states)
1 "states": [
2 {
3 "localizedName": {
4 "defaultValue": "",
5 "items": [
6 {
7 "language": "ru",
8 "value": "Рассмотрение и согласование документов"
9 },
10 {
11 "language": "en",
12 "value": "Рассмотрение и согласование документов"
13 }
14 ]
15 },
16 "icon": null,
17 "dataAvailabilitySettings": {
18 "disableEdit": false
19 },
20 "subProcesses": [],
21 "regulation": {
22 "years": null,
23 "quarters": null,
24 "months": null,
25 "days": 5,
26 "hours": null,
27 "discriminator": "TimePeriodStateRegulationModel",
28 "expiringNotificationPeriodMinutes": null
29 },
30 "id": 1,
31 "name": "Рассмотрение и согласование документов"
32 },
33 {
34 "localizedName": {
35 "defaultValue": "",
36 "items": [
37 {
38 "language": "ru",
39 "value": "Рассмотрение завершено"
40 },
41 {
42 "language": "en",
43 "value": "Рассмотрение завершено"
44 }
45 ]
46 },
47 "icon": null,
48 "dataAvailabilitySettings": {
49 "disableEdit": true
50 },
51 "subProcesses": [],
52 "id": 2,
53 "name": "Рассмотрение завершено"
54 }
55 ]
Основные свойства настройки состояний:
Id – идентификатор состояния
localizedName – наименование состояния, можно настроить локализацию на английском и русском языках.
localizedComment – комментарий для состояния. Можно использовать как дополнительное свойство, которое будет, например, относить состояние к определенному этапу.
subProcesses – настройка подпроцессов
Для состояния можно настроить несколько подпроцессов. Доступны следующие настройки:
- localizedName - наименование подпроцесса, которое будет выводиться в списке действий для состояния. Можно настроить локализацию на английском и русском языках.
- workflowId - идентификатор объекта согласования, который будет запускаться как подпроцесс.
- parameterMappings - настройка связи значения параметра основного процесса и параметра подпроцесса.
- subProcessNameTemplate - настройка шаблона для выводимого наименования подпроцесса. Применяется настройка только в источниках согласования. Добавлены подстановки для SubProcessNameTemplate:
- SubProcessName - наименование подпроцесса из модели родительского процесса
- StateName - наименование текущего состояния подпроцесса
1 "subProcesses": [
2 {
3 "workflowId": 172492,
4 "name": "Подпроцесс 1",
5 "parameterMappings": [],
6 "subProcessNameTemplate": "%SubProcessName% - %StateName%"
7 },
8 {
9 "workflowId": 172488,
10 "name": "Подпроцесс 2",
11 "parameterMappings": [],
12 "subProcessNameTemplate": null
13 }
14 ]
!Важно: Подпроцессы не имеют схождений с основным процессом, запускаются только вручную и выполняются параллельно.
1 "subProcesses": [
2 {
3 "workflowId": 115022,
4 "name": "Рассмотреть и согласовать документы",
5 "localizedName": {
6 "defaultValue": "Рассмотреть и согласовать документы",
7 "items": [
8 {
9 "language": "ru",
10 "value": "Рассмотреть и согласовать документы"
11 },
12 {
13 "language": "en",
14 "value": "Рассмотреть и согласовать документы"
15 }
16 ]
17 },
18 "parameterMappings": [
19 {
20 "parentProcessParameterId": 1,
21 "subProcessParameterId": 1
22 }
23 ]
24 }
25 ]
Regulation – настройка регламента выполнения задачи (состояния). В качестве регламента можно:
1. задать дату, к моменту которой должно быть завершено текущее состояние процесса
1 "regulation": {
2 "finishedDate": "2021-10-01T00:00:00.000Z",
3 "discriminator": "FixedStateRegulationModel",
4 "expiringNotificationPeriodMinutes": null
5 }
2. задать период времени для завершения состояния (год, квартал, месяц, день, час)
1 "regulation": {
2 "years": null,
3 "quarters": null,
4 "months": null,
5 "days": 1,
6 "hours": null,
7 "discriminator": "TimePeriodStateRegulationModel",
8 "expiringNotificationPeriodMinutes": 300
9 }
!Важно: Свойство expiringNotificationPeriodMinutes отвечает за рассылку уведомлений при приближении срока выполнения. Если минуты заданы, то за указанное время будет выслано уведомление, которое указано в notifications в разделе regulation. Если данное свойство null, то уведомление при приближении срока отправляться не будет.
dataAvailabilitySettings – настройка, которая отвечает за блокировку редактирования данных при запущенном процессе. По умолчанию блокирует "disableEdit": false
Настройка шагов, действий перехода из одного состояния в другое (steps)
1 "steps": [
2 {
3 "localizedName": {
4 "defaultValue": "Провести анализ материалов заявки и Подготовить заключение о результатах анализа заявки",
5 "items": [
6 {
7 "language": "ru",
8 "value": "Провести анализ материалов заявки и Подготовить заключение о результатах анализа заявки"
9 },
10 {
11 "language": "en",
12 "value": "Провести анализ материалов заявки и Подготовить заключение о результатах анализа заявки"
13 }
14 ]
15 },
16 "fromStateId": 1,
17 "toStateId": 2,
18 "id": 1,
19 "name": "Провести анализ материалов заявки и Подготовить заключение о результатах анализа заявки"
20 }
21 ]
Основные свойства настройки действий:
Id – идентификатор действия
localizedName – наименование состояния, можно настроить локализацию на английском и русском языках
fromStateId – идентификатор состояния, из которого совершается действие
toStateId - идентификатор состояния, в которое совершается действие