Платформа 3V/Формы/Источники данных/Согласование/Выполнение действий при смене шага в согласовании

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

Описание кейса

В данном кейсе представлено описание настройки api-функции при выполнении определенного шага в согласовании.
Функция срабатывает на заданный шаг процесса согласования и производит запись в атрибут справочника.

Инструменты платформы, используемые в кейсе

В рамках кейса были использованы следующие инструменты (в скобках указано количество):

1. Справочники (4)
2. Календарный справочник (1)
3. Показатели (2)
4. Отчет (2)
5. Согласование (1)
6. Серверная карточка (1)
7. Клиентская карточка (1)

Этапы создания кейса

Подготовительный

Для реализации кейса созданы или использованы уже существующее объекты платформы, подробнее о их настройке можно посмотреть в соответствующих разделах.
Справочники: "Сотрудники"; "Оценщики"; "Показатели оценки"; "Критерии оценки".
Показатели: "Оценка сотрудника"; "Матрица сотрудник-оценщик"
Согласование: workflow согласования оценки по сотруднику
Карточки серверная и клиентская: Карточка ввода информации по оценке сотрудника с прохождением процесса согласования

Следующие этапы описывают настройки, которые необходимо выполнить в json серверной карточки:

Задать идентификатор действия по условию

В блоке "Источники данных" (entryDataSources) заполнить "StateChangeActions" идентификатором, следующим образом:

 1  ...
 2  "entryDataSources": [
 3     {
 4       "id": 1234,
 5       "name": "Согласование",
 6       "WorkflowId": 200,
 7       "Parameters": [...],
 8       "StateChangeActions": [
 9         2000
10       ],
11       "discriminator": "WorkflowDataSource"
12     }
13  ...

Подробнее описание блока "Источники данных" (entryDataSources) можно найти по ссылке: Источники данных

Задать правило, определяющее состояния элементов карточки

В блоке binaryConditionsRules указываем шаг согласования на котором вызывается api-функция

 1 "binaryConditionsRules": [
 2     {
 3       "id": 911,
 4       "BinaryCondition": {
 5         "WorkflowSourceId": 1234,
 6         "WorkflowStateIds": [
 7           2
 8         ],
 9         "discriminator": "BinaryConditionWorkflowContainsStates"
10       }
11     }
12   ]

Задать действия

В блоке actions

 1   "actions": [
 2 ...
 3     {
 4       "serviceUrl": "https://apps.3v-cloud.com/assessment-and-adaptation/Assessments/AssignCurrentCurators",
 5       "parameters": [
 6         {
 7           "name": "quarter",
 8           "expressionId": 5002,
 9           "value": null
10         },
11         {
12           "name": "employeeId",
13           "expressionId": 5003,
14           "value": null
15         }
16       ],
17       "isAsync": false,
18       "httpMethod": "GET",
19       "id": 2000,
20       "comment": null,
21       "discriminator": "BusinessLogicApiAction"
22     }
23   ]

, где

Свойство Описание
serviceUrl Ссылка api-функции
parameters.name Наименование параметра, настроенного в api
parameters.expressionId Идентификатор выражения (ссылка )

Задать условные действия

В блоке conditionalActions

 1 "conditionalActions": [
 2 ...
 3     {
 4       "id": 2000,
 5       "binaryConditionRuleId": 911,
 6       "actions": [
 7         2000
 8       ]
 9     }
10   ]