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


# Вызов рабочего процесса

## Введение

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

Процесс вызова рабочего процесса показан на схеме ниже:

![20241230134634](https://static-docs.nocobase.com/20241230134634.png)

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

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

Аналогично, использование вызова рабочего процесса происходит в двух местах:

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

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

В интерфейсе настройки рабочего процесса нажмите кнопку с плюсом («+») в рабочем процессе, чтобы добавить узел «Вызов рабочего процесса»:

![Добавить узел вызова рабочего процесса](https://static-docs.nocobase.com/20241230001323.png)

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

### Выбор рабочего процесса

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

![Выбор рабочего процесса](https://static-docs.nocobase.com/20241230001534.png)

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

### Настройка переменных триггера рабочего процесса

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

![Настройка переменных триггера](https://static-docs.nocobase.com/20241230162722.png)

Различные типы триггеров требуют разных переменных, которые можно настроить в форме по мере необходимости.

## Узел «Выход рабочего процесса»

Обратитесь к содержимому узла [«Выход рабочего процесса»](./output.md), чтобы настроить выходные переменные дочернего рабочего процесса.

## Использование выхода рабочего процесса

Вернувшись в основной рабочий процесс, в других узлах под узлом «Вызов рабочего процесса», когда вы хотите использовать выходное значение дочернего рабочего процесса, вы можете выбрать результат узла «Вызов рабочего процесса». Если дочерний рабочий процесс выводит простое значение, такое как строка, число, логическое значение, дата (дата в формате строки UTC) и т.д., его можно использовать напрямую. Если это сложный объект (например, объект из коллекции), его необходимо сначала сопоставить через узел «Разбор JSON», прежде чем можно будет использовать его свойства; в противном случае его можно использовать только как целый объект.

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