Платформа 3V/Согласование/Статусы и шаги
Схема согласования состоит из состояний (states) и шагов (steps).
В качестве состояния прописываются все задачи, которые необходимы для прохождения бизнес-процесса. Каждое состояние должно иметь уникальный идентификатор, который в дальнейшем используется для описания шагов.
Шаги описывают действия перехода из одного состояния в другое. Можно настроить действия в различном направлении, которое продвигает процесс вперед, либо возвращает назад. Верхнее состояние считается стартовым для процесса. Процесс согласования заканчивается в том случае, если из текущего состояние нет н одного шага для перехода в следующее состояние.
Настройка состояний (states)
Основные свойства настройки состояний:
Id – идентификатор состояния
localizedName – наименование состояния, можно настроить локализацию на английском и русском языках.
localizedComment – комментарий для состояния. Можно использовать как дополнительное свойство, которое будет, например, относить состояние к определенному этапу.
subProcesses – настройка подпроцессов
Для состояния можно настроить несколько подпроцессов. Доступны следующие настройки:
- localizedName - наименование подпроцесса, которое будет выводиться в списке действий для состояния. Можно настроить локализацию на английском и русском языках.
- workflowId - идентификатор объекта согласования, который будет запускаться как подпроцесс.
- parameterMappings - настройка связи значения параметра основного процесса и параметра подпроцесса.
- subProcessNameTemplate - настройка шаблона для выводимого наименования подпроцесса. Применяется настройка только в источниках согласования. Добавлены подстановки для SubProcessNameTemplate:
- SubProcessName - наименование подпроцесса из модели родительского процесса
- StateName - наименование текущего состояния подпроцесса
!Важно: Подпроцессы не имеют схождений с основным процессом, запускаются только вручную и выполняются параллельно.
Regulation – настройка регламента выполнения задачи (состояния). В качестве регламента можно:
1. задать дату, к моменту которой должно быть завершено текущее состояние процесса
2. задать период времени для завершения состояния (год, квартал, месяц, день, час)
!Важно: Свойство expiringNotificationPeriodMinutes отвечает за рассылку уведомлений при приближении срока выполнения. Если минуты заданы, то за указанное время будет выслано уведомление, которое указано в notifications в разделе regulation. Если данное свойство null, то уведомление при приближении срока отправляться не будет.
dataAvailabilitySettings – настройка, которая отвечает за блокировку редактирования данных при запущенном процессе. По умолчанию блокирует "disableEdit": false
Дополнительные настройки:
ProcessAdminRole - настройка в config, в которой можно указать название роли, с которой пользователи будут иметь возможности перейти из любого состояния в любое другое. По умолчанию значение process_admin. В случае если пользователь будет обладать ролью ProcessAdminRole , то ему будут доступны генерируемые шаги с отрицательными идентификаторами, генерируемые шаги из схемы процесса будут ему не доступны.
!Важно: если администратор открыл конструктор для выполнения шага, и, до того как он выполнил один из них, кто то изменит структуру процесса (изменит последовательность или состав состояний), администратор может попасть не в то состояние, которое ожидал. Администратору необходимо выполнить шаг ещё раз, чтобы совершился корректный переход.
Настройка шагов, действий перехода из одного состояния в другое (steps)
Основные свойства настройки действий:
Id – идентификатор действия
localizedName – наименование состояния, можно настроить локализацию на английском и русском языках
fromStateId – идентификатор состояния, из которого совершается действие
toStateId - идентификатор состояния, в которое совершается действие