---
pkg: '@nocobase/plugin-workflow-approval'
---

# Утверждение

## Введение

В рабочем процессе утверждения необходимо использовать специальный узел «Утверждение» для настройки логики операций, позволяющей утверждающим лицам обрабатывать (одобрять, отклонять или возвращать) инициированное утверждение. Узел «Утверждение» может использоваться только в процессах утверждения.

:::info{title=Подсказка}
Отличие от обычного узла «Ручная обработка»: Обычный узел «Ручная обработка» предназначен для более общих сценариев, например, для ручного ввода данных или ручного принятия решений о продолжении процесса в различных типах рабочих процессов. Узел «Утверждение» — это специализированный узел обработки, предназначенный исключительно для процессов утверждения, он обрабатывает только данные инициированного утверждения и не может использоваться в других рабочих процессах.
:::

## Создание узла

Нажмите кнопку «Плюс» («+») в процессе, добавьте узел «Утверждение», а затем выберите один из режимов прохождения, чтобы создать узел утверждения:

![Создание узла утверждения](https://static-docs.nocobase.com/20251107000938.png)

## Настройка узла

### Режим прохождения

Существует два режима прохождения:

1.  Прямой режим: Обычно используется для более простых процессов. Прохождение или непрохождение узла утверждения определяет только завершение процесса. В случае непрохождения процесс завершается немедленно.

    ![Режим прохождения: Прямой режим](https://static-docs.nocobase.com/20251107001043.png)

2.  Режим ветвления: Обычно используется для более сложной логики данных. После того как узел утверждения выдаст какой-либо результат, другие узлы могут продолжать выполняться в его ветви результатов.

    ![Режим прохождения: Режим ветвления](https://static-docs.nocobase.com/20251107001234.png)

    После «Одобрения» этого узла, помимо выполнения ветви одобрения, также будет продолжен последующий процесс. После операции «Отклонить» последующий процесс также может быть продолжен по умолчанию, либо вы можете настроить узел на завершение процесса после выполнения ветви.

:::info{title=Подсказка}
Режим прохождения нельзя изменить после создания узла.
:::

### Утверждающий

Утверждающий — это набор пользователей, ответственных за действие утверждения этого узла. Это может быть один или несколько пользователей. Источник выбора может быть статическим значением, выбранным из списка пользователей, или динамическим значением, указанным переменной:

![Настройка утверждающего](https://static-docs.nocobase.com/20251107001433.png)

При выборе переменной можно выбрать только первичный или внешний ключ пользовательских данных из контекста и результатов узла. Если выбранная переменная во время выполнения является массивом (отношение «ко многим»), то каждый пользователь в массиве будет объединен в общий набор утверждающих.

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

![Динамическая фильтрация утверждающих](https://static-docs.nocobase.com/20251107001703.png)

### Режим согласования

Если при окончательном выполнении утверждающий только один (включая случай после дедупликации нескольких переменных), то независимо от выбранного режима согласования, только этот пользователь будет выполнять действие утверждения, и результат будет определяться исключительно этим пользователем.

Когда в наборе утверждающих несколько пользователей, выбор различных режимов согласования представляет разные способы обработки:

1. Или-согласование: Достаточно одобрения одного человека, чтобы узел был пройден; узел отклоняется только в том случае, если отклонят все.
2. Совместное согласование: Требуется одобрение всех, чтобы узел был пройден; достаточно отклонения одного человека, чтобы узел был отклонен.
3. Голосование: Требуется одобрение более чем установленной доли людей, чтобы узел был пройден; в противном случае узел отклоняется.

Что касается операции возврата, в любом режиме, если какой-либо пользователь из набора утверждающих выполнит возврат, узел немедленно завершит процесс.

### Порядок обработки

Аналогично, когда в наборе утверждающих несколько пользователей, выбор различных порядков обработки представляет разные способы обработки:

1. Параллельно: Все утверждающие могут выполнять обработку в любом порядке; последовательность не имеет значения.
2. Последовательно: Утверждающие выполняют обработку последовательно в соответствии с порядком в наборе; следующий может приступить только после того, как предыдущий отправит результат.

Независимо от того, установлен ли «Последовательный» порядок обработки, результат, полученный в соответствии с фактическим порядком обработки, также будет следовать правилам, указанным выше в «Режиме согласования». Узел завершает свое выполнение после выполнения соответствующих условий.

### Выход из рабочего процесса после завершения ветви отклонения

Когда «Режим прохождения» установлен на «Режим ветвления», вы можете выбрать выход из рабочего процесса после завершения ветви отклонения. После установки флажка в конце ветви отклонения будет отображаться «✗», указывающий, что последующие узлы не будут выполняться после завершения этой ветви:

![Выход после отклонения](https://static-docs.nocobase.com/20251107001839.png)

### Настройка интерфейса утверждающего

Настройка интерфейса утверждающего используется для предоставления утверждающему рабочего интерфейса, когда рабочий процесс утверждения достигает этого узла. Нажмите кнопку настройки, чтобы открыть всплывающее окно:

![Всплывающее окно настройки интерфейса утверждающего](https://static-docs.nocobase.com/20251107001958.png)

Во всплывающем окне настройки можно добавить такие блоки, как исходное содержимое отправки, информация об утверждении, форма обработки и пользовательский текст подсказки:

![Добавление блоков в интерфейс утверждающего](https://static-docs.nocobase.com/20251107002604.png)

#### Исходное содержимое отправки

Блок сведений о содержимом утверждения — это блок данных, отправленных инициатором; подобно обычному блоку данных, в него можно добавлять компоненты полей коллекции и произвольно их располагать, чтобы организовать содержимое для просмотра утверждающим:

![Настройка блока сведений](https://static-docs.nocobase.com/20251107002925.png)

#### Форма обработки

В блок формы операций можно добавить кнопки действий, поддерживаемые этим узлом, включая «Одобрить», «Отклонить», «Вернуть», «Переназначить» и «Добавить согласующего»:

![Блок формы операций](https://static-docs.nocobase.com/20251107003015.png)

Кроме того, в форму операций можно добавить поля, которые могут быть изменены утверждающим. Эти поля будут отображаться в форме операций при обработке утверждения; утверждающий может изменять их значения, и после отправки будут одновременно обновлены данные для утверждения, а также снимок соответствующих данных в процессе утверждения.

![Изменение полей содержимого утверждения](https://static-docs.nocobase.com/20251107003206.png)

#### «Одобрить» и «Отклонить»

Среди кнопок действий утверждения «Одобрить» и «Отклонить» являются решающими операциями. После отправки обработка утверждающим этого узла считается завершенной. Дополнительные поля, которые необходимо заполнить при отправке, можно добавить во всплывающем окне «Настройка обработки» кнопки действия, например, «Комментарий».

![Настройка обработки](https://static-docs.nocobase.com/20251107003314.png)

#### «Вернуть»

«Вернуть» также является решающей операцией. Помимо настройки комментариев, можно также настроить узлы, на которые возможен возврат:

![Настройка возврата](https://static-docs.nocobase.com/20251107003555.png)

#### «Переназначить» и «Добавить согласующего»

«Переназначить» и «Добавить согласующего» являются нерешающими операциями, используемыми для динамической корректировки утверждающих в процессе утверждения. «Переназначить» означает передачу задачи утверждения текущего пользователя другому пользователю; «Добавить согласующего» означает добавление утверждающего до или после текущего пользователя, после чего новый утверждающий продолжит процесс вместе с остальными.

После включения кнопок «Переназначить» или «Добавить согласующего» необходимо выбрать «Область назначения персонала» в меню настройки кнопки, чтобы установить диапазон пользователей для назначения:

![Область назначения персонала](https://static-docs.nocobase.com/20241226232321.png)

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

:::warning{title=Важно}
Если кнопка действия была включена или отключена, или была изменена область назначения персонала, необходимо сохранить конфигурацию узла после закрытия всплывающего окна настройки интерфейса, иначе изменения не вступят в силу.
:::

### Карточка «Мои утверждения» <Badge>2.0+</Badge>

Может использоваться для настройки карточек задач в списке «Мои утверждения» в Центре задач.

![Настройка карточки «Мои утверждения»](https://static-docs.nocobase.com/20260214141554.png)

В карточке можно свободно настраивать отображение необходимых бизнес-полей (за исключением полей связей) или информации, связанной с утверждением.

После того как утверждение перейдет на этот узел, в списке Центра задач можно будет увидеть настроенную карточку задачи:

![Карточка задачи в Центре задач](https://static-docs.nocobase.com/20260214141722.png)

## Результат узла

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

![Результат узла](https://static-docs.nocobase.com/20250614095052.png)

### Статус утверждения узла

Представляет статус обработки текущего узла утверждения; результат является перечисляемым значением.

### Данные после утверждения

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

### Записи утверждения

> v1.8