Платформа 3V/Согласование/Реестр процессов
Реализовано отображение реестра всех процессов согласования, в котором существует возможность редактировать экземпляры процесса. Для этого следует нажать на требуемый изменения экземпляр основного процесса или его подпроцесса и перейти в открывшееся окно с JSON. Реестр открывается по кнопке на левой панели управления навигатора. Для его настройки в конфигурационном файле указывается код настроенного отчёта с реестром процессов.
Для того, чтобы настроить отчет для реестра процессов согласования требуется настроить Внешний справочник на объекте Соединение с источником данных .../workflow/api/WorkflowDataSourceView/Processes/ и в качестве идентификатора объекта задать AllRunnedProcesses. Так же в справочнике необходимо настроить следующее:
- Тип атрибута StateId должен быть указан как Идентификатор
- Тип атрибута ParentStateId должен быть указан как Родитель
- Тип атрибута Name должен быть указан как Наименование
В справочнике будет отображён список всех запущенных процессов и выведены следующие атрибуты:
- Идентификатор процесса или подпроцесса(Id)
- Идентификатор родительского процесса(для подпроцессов)(ParentId)
- Наименование объекта согласования/экземпляра процесса/подпроцесса с наименованиями параметров(Name)
- Идентификатор экземпляра процесса(EntityId)
- Идентификатор типа объекта: 1 - объект согласования, 2 - объект согласования подпроцесса, 3 - экземпляр процесса/подпроцесса, (EntityType)
- Наименование текущего состояния(StateName)
- Значение свойства localizedComment объекта согласования (StateModelComment)
- Дата запуска процесса (StartedDate)
- Дата перехода в текущее состояние (StateChangedDate)
- Регламентная дата, если она настроена для текущего состояния (StateRegulationDate)
- Ответственные за шаги на текущем состоянии (StateResponsible)
- Признак "завершенности" экземпляра подпроцесса (IsFinished)
- Общее количество процессов (TotalProcessCount)
- Количество завершенных процессов (FinishedProcessCount)
Далее необходимо создать сам отчет с идентификатором REPORT_WORKFLOW_STATUSES (данный код указывается в конфигурационном файле, как было написано выше), настроить отчет можно в любом виде, на усмотрение пользователя. Единственное, необходимо, чтобы первым столбцом выводился атрибут Name, для корректного формирования названия объекта - экземпляра процесса и наименование параметров, с которыми он запущен.
Так же необходимо настроить для первого столбца отображение гиперссылок. В дальнейшем, после реализации конструктора согласования, при клике по гиперссылке процесса в конструкторе будут открываться его настройки.
Настройка параметра
Источник реестра всех процессов можно параметризировать. Если используется несколько объектов согласования, то можно через параметр отображать процессы выбранного объекта согласования, что может сократить время построения реестра процессов.
В параметре необходимо передавать идентификатор объекта согласования. Если параметр не задан - будут подгружаться все согласования и все процессы.
Чтобы настроить параметр с объектами согласования через внешний справочник объектов необходимо выполнить следующее:
- Добавить объект "Соединение с источником данных" .../repository/api/RepositoryDataSource/
- Добавить внешний справочник на этом соединении, в качестве идентификатора объекта задать MetaObjects
- Для следующих атрибутов настроить тип:
Тип атрибута Id должен быть указан как Идентификатор
Тип атрибута ParentId должен быть указан как Родитель
Тип атрибута Name должен быть указан как Наименование
- Справочник должен быть с включенным кэшем
- В справочник реестра процессов необходимо добавить параметр
- В отчете реестра процессов добавить, созданный ранее, внешний справочник объектов в качестве параметра, для параметра настроить фильтр на тип объекта согласования
- Сохранить изменения в отчете, далее при открытии реестра в нем должна появиться панель с параметром.
!Важно: есть ограничение со стороны справочников, если для справочника процессов указать наличие параметра, но в отчете скинуть его на null - то упадет ошибка, что значение параметра не задано.