Платформа 3V/Отчет/6. Дополнительные действия в отчете/Подключение согласования к отчету

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

Описание

Для того, чтобы вынести согласование в отчет, необходимо в поле workflowId указать идентификатор соответствующего согласования. При этом, количество и идентификаторы параметров в отчете и согласовании должны совпадать.

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

Подробнее о согласовании можно узнать в разделе Согласование.

Пример

Необходимо в отчет вынести согласование с идентификатором 200, которое строится на трех параметрах ("parameters"). JSON согласования указан ниже.

JSON согласования
  1 {
  2   "template": {
  3     "schema": {
  4       "states": [
  5         {
  6           "icon": {
  7             "type": "svg",
  8             "data": "<svg width='10' height='10' viewBox='0 0 10 10' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M0 10L1.19249e-07 0L10 1.19249e-07L6 5L10 10L0 10Z' fill='#F08513'/></svg>"
  9           },
 10           "id": 1,
 11           "dataAvailabilitySettings": null,
 12           "name": "Запланирована"
 13         },
 14         {
 15           "icon": {
 16             "type": "svg",
 17             "data": "<svg width='10' height='10' viewBox='0 0 10 10' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M0 10L1.19249e-07 0L10 1.19249e-07L6 5L10 10L0 10Z' fill='#0066DD'/></svg>"
 18           },
 19           "id": 2,
 20           "dataAvailabilitySettings": {
 21             "disableEdit": true
 22           },
 23           "name": "На подтверждении"
 24         },
 25         {
 26           "icon": {
 27             "type": "svg",
 28             "data": "<svg width='10' height='10' viewBox='0 0 10 10' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M0 10L1.19249e-07 0L10 1.19249e-07L6 5L10 10L0 10Z' fill='#05C19F'/></svg>"
 29           },
 30           "id": 3,
 31           "dataAvailabilitySettings": {
 32             "disableEdit": true
 33           },
 34           "name": "На корректировке"
 35         },
 36         {
 37           "icon": {
 38             "type": "svg",
 39             "data": "<svg width='10' height='10' viewBox='0 0 10 10' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M0 10L1.19249e-07 0L10 1.19249e-07L6 5L10 10L0 10Z' fill='#8053DF'/></svg>"
 40           },
 41           "id": 4,
 42           "dataAvailabilitySettings": null,
 43           "name": "Ожидает оценки сотрудника"
 44         },
 45         {
 46           "icon": {
 47             "type": "svg",
 48             "data": "<svg width='10' height='10' viewBox='0 0 10 10' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M0 10L1.19249e-07 0L10 1.19249e-07L6 5L10 10L0 10Z' fill='#8053DF'/></svg>"
 49           },
 50           "id": 5,
 51           "dataAvailabilitySettings": null,
 52           "name": "Ожидает оценки оценщика"
 53         },
 54         {
 55           "icon": {
 56             "type": "svg",
 57             "data": "<svg width='10' height='10' viewBox='0 0 10 10' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M0 10L1.19249e-07 0L10 1.19249e-07L6 5L10 10L0 10Z' fill='#05C19F'/></svg>"
 58           },
 59           "id": 6,
 60           "dataAvailabilitySettings": {
 61             "disableEdit": true
 62           },
 63           "name": "Завершена"
 64         }
 65       ],
 66       "steps": [
 67         {
 68           "fromStateId": 1,
 69           "toStateId": 2,
 70           "id": 1,
 71           "name": "Инициировать оценку"
 72         },
 73         {
 74           "fromStateId": 2,
 75           "toStateId": 4,
 76           "id": 2,
 77           "name": "Подвердить"
 78         },
 79         {
 80           "fromStateId": 2,
 81           "toStateId": 3,
 82           "id": 3,
 83           "name": "Отклонить"
 84         },
 85         {
 86           "fromStateId": 3,
 87           "toStateId": 2,
 88           "id": 4,
 89           "name": "Вернуть на подверждение"
 90         },
 91         {
 92           "fromStateId": 4,
 93           "toStateId": 5,
 94           "id": 5,
 95           "name": "Подвердить ввод"
 96         },
 97         {
 98           "fromStateId": 5,
 99           "toStateId": 6,
100           "id": 6,
101           "name": "Подвердить ввод"
102         },
103         {
104           "fromStateId": 6,
105           "toStateId": 1,
106           "id": 7,
107           "name": "Вернуть в запланировано"
108         }
109       ],
110       "startStateId": 1
111     },
112     "permissions": [
113       {
114         "stepId": 1,
115         "subjectId": "USERS",
116         "type": "Allow"
117       },
118       {
119         "stepId": 2,
120         "subjectId": "APPROVERS",
121         "type": "Allow"
122       },
123       {
124         "stepId": 3,
125         "subjectId": "APPROVERS",
126         "type": "Allow"
127       },
128       {
129         "stepId": 4,
130         "subjectId": "USERS",
131         "type": "Allow"
132       },
133       {
134         "stepId": 5,
135         "subjectId": "APPROVERS",
136         "type": "Allow"
137       }
138     ],
139     "parameters": {
140       "definitions": [
141         {
142           "id": 1,
143           "name": "Квартал оценки",
144           "dictionaryId": 120,
145           "discriminator": "DictionaryParameterModel"
146         },
147         {
148           "id": 2,
149           "name": "Сотрудники",
150           "dictionaryId": 19,
151           "discriminator": "DictionaryParameterModel"
152         },
153         {
154           "id": 3,
155           "name": "Оценщики",
156           "dictionaryId": 126,
157           "discriminator": "DictionaryParameterModel"
158         }
159       ],
160       "defaultValues": [
161         {
162           "parameterId": 2,
163           "value": 2
164         },
165         {
166           "parameterId": 3,
167           "value": 2
168         },
169         {
170           "parameterId": 1,
171           "value": 320210101
172         }
173       ]
174     },
175     "notifications": null
176   },
177   "forceWorkflowNotificationTemplate": false
178 }

Для этого, в отчете в поле workflowId указываем идентификатор согласования - 200. А также проверяем на соответствие количество и идентификаторы в отчете и согласовании. В параметрах в отчете должны быть те же три справочника, что и в согласовании (120, 19, 126), при этом идентификатор справочника 120 ("Квартал оценки") должен быть равен 1, 19 ("Сотрудники") - 2, 126 ("Оценщики") - 3.

В результате справа сверху выводится кнопка согласования:

Кнопка согласования в отчете.png