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

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
 
(не показаны 3 промежуточные версии этого же участника)
Строка 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;">
Строка 164: Строка 188:
 
'''dataAvailabilitySettings''' – настройка, которая отвечает за блокировку редактирования данных при запущенном процессе. По умолчанию блокирует "disableEdit": false<br>
 
'''dataAvailabilitySettings''' – настройка, которая отвечает за блокировку редактирования данных при запущенном процессе. По умолчанию блокирует "disableEdit": false<br>
  
 +
'''Дополнительные настройки:'''<br>
 +
'''ProcessAdminRole''' - настройка в config,  в которой можно указать название роли, с которой пользователи будут иметь возможности перейти из любого состояния в любое другое. По умолчанию значение process_admin. В случае если пользователь будет обладать ролью ProcessAdminRole , то ему будут доступны генерируемые шаги с отрицательными идентификаторами, генерируемые шаги из схемы процесса будут ему не доступны.<br>
 +
'''!Важно''': если администратор открыл конструктор для выполнения шага, и, до того как он выполнил один из них, кто то изменит структуру процесса (изменит последовательность или состав состояний), администратор может попасть не в то состояние, которое ожидал. Администратору необходимо выполнить шаг ещё раз, чтобы совершился корректный переход.
  
 
== Настройка шагов, действий перехода из одного состояния в другое (steps) ==
 
== Настройка шагов, действий перехода из одного состояния в другое (steps) ==

Текущая версия на 07:11, 18 апреля 2022

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

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

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

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

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

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

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

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

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

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

subProcesses – настройка подпроцессов
Для состояния можно настроить несколько подпроцессов. Доступны следующие настройки:

  • localizedName - наименование подпроцесса, которое будет выводиться в списке действий для состояния. Можно настроить локализацию на английском и русском языках.
  • workflowId - идентификатор объекта согласования, который будет запускаться как подпроцесс.
  • parameterMappings - настройка связи значения параметра основного процесса и параметра подпроцесса.
  • subProcessNameTemplate - настройка шаблона для выводимого наименования подпроцесса. Применяется настройка только в источниках согласования. Добавлены подстановки для SubProcessNameTemplate:

- SubProcessName - наименование подпроцесса из модели родительского процесса
- StateName - наименование текущего состояния подпроцесса

JSON применения настройки SubProcessNameTemplate

!Важно: Подпроцессы не имеют схождений с основным процессом, запускаются только вручную и выполняются параллельно.

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

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

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

JSON пример

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

JSON пример

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

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

Дополнительные настройки:
ProcessAdminRole - настройка в config, в которой можно указать название роли, с которой пользователи будут иметь возможности перейти из любого состояния в любое другое. По умолчанию значение process_admin. В случае если пользователь будет обладать ролью ProcessAdminRole , то ему будут доступны генерируемые шаги с отрицательными идентификаторами, генерируемые шаги из схемы процесса будут ему не доступны.
!Важно: если администратор открыл конструктор для выполнения шага, и, до того как он выполнил один из них, кто то изменит структуру процесса (изменит последовательность или состав состояний), администратор может попасть не в то состояние, которое ожидал. Администратору необходимо выполнить шаг ещё раз, чтобы совершился корректный переход.

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

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

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

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

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

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

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