Платформа 3V/Согласование/Статусы и шаги: различия между версиями

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
(Содержимое страницы заменено на «Страница в разработке»)
Метка: замена
Строка 1: Строка 1:
Страница в разработке
+
Схема согласования состоит из состояний (states) и шагов (steps).<br>
 +
 
 +
В качестве состояния прописываются все задачи, которые необходимы для прохождения бизнес-процесса.  Каждое состояние должно иметь уникальный идентификатор, который в дальнейшем используется для описания шагов. <br>
 +
 +
Шаги описывают действия перехода из одного состояния в другое. Можно настроить действия в различном направлении, которое продвигает процесс вперед, либо возвращает назад. Верхнее состояние считается стартовым для процесса. Процесс согласования заканчивается в том случае, если из текущего состояние нет н одного шага для перехода в следующее состояние. <br>
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 +
<div style="font-weight:bold;line-height:1.6;">JSON-модель схемы согласования</div>
 +
<div class="mw-collapsible-content mw-collapsed-content">
 +
<syntaxhighlight lang="JSON" line>
 +
"schema": {
 +
      "states": [
 +
      …
 +
      ],
 +
      "steps": [
 +
        …
 +
      ],
 +
      "startStateId": 1
 +
    }
 +
</syntaxhighlight>
 +
</div></div>
 +
 
 +
== Настройка состояний (states) ==
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 +
<div style="font-weight:bold;line-height:1.6;">Пример JSON-модели состояний</div>
 +
<div class="mw-collapsible-content mw-collapsed-content">
 +
<syntaxhighlight lang="JSON" line>
 +
"states": [
 +
        {
 +
          "localizedName": {
 +
            "defaultValue": "",
 +
            "items": [
 +
              {
 +
                "language": "ru",
 +
                "value": "Рассмотрение и согласование документов"
 +
              },
 +
              {
 +
                "language": "en",
 +
                "value": "Рассмотрение и согласование документов"
 +
              }
 +
            ]
 +
          },
 +
          "icon": null,
 +
          "dataAvailabilitySettings": {
 +
            "disableEdit": false
 +
          },
 +
          "subProcesses": [],
 +
          "regulation": {
 +
            "years": null,
 +
            "quarters": null,
 +
            "months": null,
 +
            "days": 5,
 +
            "hours": null,
 +
            "discriminator": "TimePeriodStateRegulationModel",
 +
            "expiringNotificationPeriodMinutes": null
 +
          },
 +
          "id": 1,
 +
          "name": "Рассмотрение и согласование документов"
 +
        },
 +
        {
 +
          "localizedName": {
 +
            "defaultValue": "",
 +
            "items": [
 +
              {
 +
                "language": "ru",
 +
                "value": "Рассмотрение завершено"
 +
              },
 +
              {
 +
                "language": "en",
 +
                "value": "Рассмотрение завершено"
 +
              }
 +
            ]
 +
          },
 +
          "icon": null,
 +
          "dataAvailabilitySettings": {
 +
            "disableEdit": true
 +
          },
 +
          "subProcesses": [],
 +
          "id": 2,
 +
          "name": "Рассмотрение завершено"
 +
        }
 +
      ]
 +
</syntaxhighlight>
 +
</div></div>
 +
Основные свойства настройки состояний:<br>
 +
 
 +
'''Id''' – идентификатор состояния<br>
 +
 
 +
'''localizedName''' – наименование состояния, можно настроить локализацию на английском и русском языках.<br>
 +
 
 +
'''localizedComment''' – комментарий для состояния. Можно использовать как дополнительное свойство, которое будет, например, относить состояние к определенному этапу.<br>
 +
 
 +
'''subProcesses''' – задание идентификатора и наименование подпроцесса состояния. <br>
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 +
<div style="font-weight:bold;line-height:1.6;">JSON-модель подпроцесса</div>
 +
<div class="mw-collapsible-content mw-collapsed-content">
 +
<syntaxhighlight lang="JSON" line>
 +
"subProcesses": [
 +
            {
 +
              "workflowId": 115022,
 +
              "name": "Рассмотреть и согласовать документы",
 +
              "localizedName": {
 +
                "defaultValue": "Рассмотреть и согласовать документы",
 +
                "items": [
 +
                  {
 +
                    "language": "ru",
 +
                    "value": "Рассмотреть и согласовать документы"
 +
                  },
 +
                  {
 +
                    "language": "en",
 +
                    "value": "Рассмотреть и согласовать документы"
 +
                  }
 +
                ]
 +
              }
 +
            }
 +
          ]
 +
</syntaxhighlight>
 +
</div></div>
 +
 
 +
'''Regulation''' – настройка регламента выполнения задачи (состояния). В качестве регламента можно:<br>
 +
 
 +
1. задать дату, к моменту которой должно быть завершено текущее состояние процесса<br>
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 +
<div style="font-weight:bold;line-height:1.6;">JSON пример</div>
 +
<div class="mw-collapsible-content mw-collapsed-content">
 +
<syntaxhighlight lang="JSON" line>
 +
"regulation": {
 +
            "finishedDate": "2021-10-01T00:00:00.000Z",
 +
            "discriminator": "FixedStateRegulationModel",
 +
            "expiringNotificationPeriodMinutes": null
 +
          }
 +
</syntaxhighlight>
 +
</div></div>
 +
 
 +
2. задать период времени для завершения состояния (год, квартал, месяц, день, час)<br>
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 +
<div style="font-weight:bold;line-height:1.6;">JSON пример</div>
 +
<div class="mw-collapsible-content mw-collapsed-content">
 +
<syntaxhighlight lang="JSON" line>
 +
"regulation": {
 +
            "years": null,
 +
            "quarters": null,
 +
            "months": null,
 +
            "days": 1,
 +
            "hours": null,
 +
            "discriminator": "TimePeriodStateRegulationModel",
 +
            "expiringNotificationPeriodMinutes": 300
 +
          }
 +
</syntaxhighlight>
 +
</div></div>
 +
 
 +
'''!Важно''': Свойство expiringNotificationPeriodMinutes отвечает за рассылку уведомлений при приближении срока выполнения. Если минуты заданы, то за указанное время будет выслано уведомление, которое указано в notifications в разделе regulation. Если данное свойство null, то уведомление при приближении срока отправляться не будет.<br>
 +
 
 +
'''dataAvailabilitySettings''' – настройка, которая отвечает за блокировку редактирования данных при запущенном процессе. По умолчанию блокирует "disableEdit": false<br>
 +
 
 +
 
 +
== Настройка шагов, действий перехода из одного состояния в другое (steps) ==
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 +
<div style="font-weight:bold;line-height:1.6;">Пример JSON-модели действий</div>
 +
<div class="mw-collapsible-content mw-collapsed-content">
 +
<syntaxhighlight lang="JSON" line>
 +
"steps": [
 +
        {
 +
          "localizedName": {
 +
            "defaultValue": "Провести анализ материалов заявки и Подготовить заключение о результатах анализа заявки",
 +
            "items": [
 +
              {
 +
                "language": "ru",
 +
                "value": "Провести анализ материалов заявки и Подготовить заключение о результатах анализа заявки"
 +
              },
 +
              {
 +
                "language": "en",
 +
                "value": "Провести анализ материалов заявки и Подготовить заключение о результатах анализа заявки"
 +
              }
 +
            ]
 +
          },
 +
          "fromStateId": 1,
 +
          "toStateId": 2,
 +
          "id": 1,
 +
          "name": "Провести анализ материалов заявки и Подготовить заключение о результатах анализа заявки"
 +
        }
 +
      ]
 +
</syntaxhighlight>
 +
</div></div>
 +
 
 +
Основные свойства настройки действий:<br>
 +
 
 +
'''Id''' – идентификатор действия<br>
 +
 
 +
'''localizedName''' – наименование состояния, можно настроить локализацию на английском и русском языках<br>
 +
 
 +
'''fromStateId''' – идентификатор состояния, из которого совершается действие<br>
 +
 
 +
'''toStateId''' - идентификатор состояния, в которое совершается действие<br>

Версия 10:52, 25 ноября 2021

Схема согласования состоит из состояний (states) и шагов (steps).

В качестве состояния прописываются все задачи, которые необходимы для прохождения бизнес-процесса. Каждое состояние должно иметь уникальный идентификатор, который в дальнейшем используется для описания шагов.

Шаги описывают действия перехода из одного состояния в другое. Можно настроить действия в различном направлении, которое продвигает процесс вперед, либо возвращает назад. Верхнее состояние считается стартовым для процесса. Процесс согласования заканчивается в том случае, если из текущего состояние нет н одного шага для перехода в следующее состояние.

JSON-модель схемы согласования

Настройка состояний (states)

Пример JSON-модели состояний

Основные свойства настройки состояний:

Id – идентификатор состояния

localizedName – наименование состояния, можно настроить локализацию на английском и русском языках.

localizedComment – комментарий для состояния. Можно использовать как дополнительное свойство, которое будет, например, относить состояние к определенному этапу.

subProcesses – задание идентификатора и наименование подпроцесса состояния.

JSON-модель подпроцесса

Regulation – настройка регламента выполнения задачи (состояния). В качестве регламента можно:

1. задать дату, к моменту которой должно быть завершено текущее состояние процесса

JSON пример

2. задать период времени для завершения состояния (год, квартал, месяц, день, час)

JSON пример

!Важно: Свойство expiringNotificationPeriodMinutes отвечает за рассылку уведомлений при приближении срока выполнения. Если минуты заданы, то за указанное время будет выслано уведомление, которое указано в notifications в разделе regulation. Если данное свойство null, то уведомление при приближении срока отправляться не будет.

dataAvailabilitySettings – настройка, которая отвечает за блокировку редактирования данных при запущенном процессе. По умолчанию блокирует "disableEdit": false


Настройка шагов, действий перехода из одного состояния в другое (steps)

Пример JSON-модели действий

Основные свойства настройки действий:

Id – идентификатор действия

localizedName – наименование состояния, можно настроить локализацию на английском и русском языках

fromStateId – идентификатор состояния, из которого совершается действие

toStateId - идентификатор состояния, в которое совершается действие