Платформа 3V/Согласование/Реестр процессов

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
Реализовано в версии 0.40

Реализовано отображение реестра всех процессов согласования, в котором существует возможность редактировать экземпляры процесса. Для этого следует нажать на требуемый изменения экземпляр основного процесса или его подпроцесса и перейти в открывшееся окно с JSON. Реестр открывается по кнопке реестр согласования кнопка.png на левой панели управления навигатора. Для его настройки в конфигурационном файле указывается код настроенного отчёта с реестром процессов.

процессы согласования. реестр.png



Для того, чтобы настроить отчет для реестра процессов согласования требуется настроить Внешний справочник на объекте Соединение с источником данных .../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, для корректного формирования названия объекта - экземпляра процесса и наименование параметров, с которыми он запущен.

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

JSON пример настройки гиперссылок для строк с экземплярами процесса и подпроцесса

Настройка параметра

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

  • Добавить объект "Соединение с источником данных" .../repository/api/RepositoryDataSource/
  • Добавить внешний справочник на этом соединении, в качестве идентификатора объекта задать MetaObjects
  • Для следующих атрибутов настроить тип:

Тип атрибута Id должен быть указан как Идентификатор
Тип атрибута ParentId должен быть указан как Родитель
Тип атрибута Name должен быть указан как Наименование

  • Справочник должен быть с включенным кэшем
  • В справочник реестра процессов необходимо добавить параметр
JSON пример настройки параметра в справочнике
  • В отчете реестра процессов добавить, созданный ранее, внешний справочник объектов в качестве параметра, для параметра настроить фильтр на тип объекта согласования
JSON пример настройки параметра с фильтром в отчете реестра процессов
  • Сохранить изменения в отчете, далее при открытии реестра в нем должна появиться панель с параметром.

!Важно: есть ограничение со стороны справочников, если для справочника процессов указать наличие параметра, но в отчете скинуть его на null - то упадет ошибка, что значение параметра не задано.