Эта документация была автоматически переведена ИИ.
Событие после действия
Рабочий процесс: событие после действияCommunity Edition+Введение
Все изменения данных в системе, которые вносят пользователи, обычно выполняются посредством какого-либо действия, как правило, путем нажатия кнопки. Эта кнопка может быть кнопкой отправки в форме или кнопкой действия в блоке данных. Событие после действия позволяет привязать соответствующие рабочие процессы к этим кнопкам, чтобы после успешного выполнения действия пользователя запускался определенный процесс.
Например, при добавлении или обновлении данных вы можете настроить для кнопки опцию «Привязать рабочий процесс». После завершения действия будет запущен привязанный рабочий процесс.
На уровне реализации, поскольку обработка событий после действия происходит на уровне промежуточного ПО (middleware Koa), вызовы HTTP API NocoBase также могут запускать определенные события после действия.
Установка
Это встроенный плагин, установка не требуется.
Конфигурация триггера
Создание рабочего процесса
При создании рабочего процесса выберите тип «Событие после действия»:

Режим выполнения
Для событий после действия при создании вы также можете выбрать режим выполнения: «Синхронный» или «Асинхронный»:

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

Выбор режима запуска
Затем выберите режим запуска, доступны два режима: локальный и глобальный:

Где:
- Локальный режим запускается только на кнопках действия, к которым привязан этот рабочий процесс. Нажатие кнопок, не привязанных к этому рабочему процессу, не вызовет его. Вы можете решить, привязывать ли этот рабочий процесс, исходя из того, должны ли формы с различными целями запускать один и тот же процесс.
- Глобальный режим запускается на всех настроенных кнопках действия коллекции, независимо от того, из какой формы они исходят, и не требует привязки соответствующего рабочего процесса.
В локальном режиме в настоящее время поддерживаются следующие кнопки действия для привязки:
- Кнопки «Отправить» и «Сохранить» в форме добавления.
- Кнопки «Отправить» и «Сохранить» в форме обновления.
- Кнопка «Обновить данные» в строках данных (таблица, список, канбан и т. д.).
Выбор типа действия
Если вы выбрали глобальный режим, вам также необходимо выбрать тип действия. В настоящее время поддерживаются «Действие создания данных» и «Действие обновления данных». Оба действия запускают рабочий процесс после успешного выполнения операции.
Выбор предварительно загруженных связанных данных
Если вам необходимо использовать связанные данные триггера в последующих процессах, вы можете выбрать поля связей для предварительной загрузки:

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

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


Рабочий процесс должен быть включен, чтобы его можно было выбрать в вышеуказанном интерфейсе.
Пример
Здесь мы продемонстрируем это на примере операции добавления.
Предположим сценарий «Заявление на возмещение расходов». Нам необходимо, чтобы после подачи сотрудником заявления на возмещение расходов проводилась автоматическая проверка суммы и ручная проверка для сумм, превышающих лимит. Только успешно прошедшие проверку заявления одобряются и затем передаются в финансовый отдел для обработки.
Сначала мы можем создать коллекцию «Возмещение расходов» со следующими полями:
- Название проекта: Однострочный текст
- Заявитель: Многие к одному (Пользователь)
- Сумма: Число
- Статус: Одиночный выбор («Одобрено», «Обработано»)
Затем создайте рабочий процесс типа «Событие после действия» и настройте модель коллекции в триггере как коллекцию «Возмещение расходов»:

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


