Платформа 3V/Согласование/Статусы и шаги
Схема согласования состоит из состояний (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 – задание идентификатора и наименование подпроцесса состояния.
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 }
19 ]
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 - идентификатор состояния, в которое совершается действие