Платформа 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 пример настройки гиперссылок для строк с экземплярами процесса и подпроцесса
 1   "hyperlinkOptions": {
 2             "metaObjectSource": {
 3               "formula": {
 4                 "expression": "if(IsNullOrEmpty([2]) or [3] <> 3, Null(), [1])",
 5                 "operands": [
 6                   {
 7                     "dictionaryId": 125348,
 8                     "attribute": {
 9                       "discriminator": "OwnAttributeDefinitionDto",
10                       "id": 23
11                     },
12                     "attributeId": 23,
13                     "discriminator": "AttributeFormulaOperandDto",
14                     "code": null,
15                     "id": 1,
16                     "name": null
17                   },
18                   {
19                     "dictionaryId": 125348,
20                     "attribute": {
21                       "discriminator": "OwnAttributeDefinitionDto",
22                       "id": 4
23                     },
24                     "attributeId": 4,
25                     "discriminator": "AttributeFormulaOperandDto",
26                     "code": null,
27                     "id": 2,
28                     "name": null
29                   },
30                   {
31                     "dictionaryId": 125348,
32                     "attribute": {
33                       "discriminator": "OwnAttributeDefinitionDto",
34                       "id": 24
35                     },
36                     "attributeId": 24,
37                     "discriminator": "AttributeFormulaOperandDto",
38                     "code": null,
39                     "id": 3,
40                     "name": null
41                   }
42                 ],
43                 "code": null,
44                 "id": 1,
45                 "name": null
46               },
47               "discriminator": "FormulaValueSourceDto"
48             },
49             "parameterSources": [],
50             "discriminator": "MetaObjectHyperlinkOptionsDto",
51             "openTarget": "SameWindow"
52           }