logologo
Початок
Посібник
Розробка
Плагіни
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Початок
Посібник
Розробка
Плагіни
API
logologo
Робочий процес
Огляд
Швидкий старт

Тригер

Огляд
Події таблиці даних
Завдання за розкладом
Подія перед дією
Подія після дії
Користувацька подія дії
Затвердження
Webhook

Вузол

Огляд

Штучний інтелект (AI)

Велика мовна модель (LLM)

Керування потоком

Умова
Розгалуження за умовами
Цикл
Змінна
Паралельне розгалуження
Виклик робочого процесу
Вивід потоку
Мапінг змінних JSON
Затримка
Завершення

Обчислення

Обчислення
Обчислення дати
Обчислення JSON

Операції з даними

Додавання даних
Оновлення даних
Запит даних
Видалення даних
Операції SQL

Ручна обробка

Ручна обробка
Затвердження
Копія (CC)

Розширені типи

HTTP-запит
Скрипт JavaScript
Сповіщення
Надсилання email
Відповідь
Повідомлення-відповідь
Змінна
Журнал виконання
Керування версіями
Розширені налаштування

Розробка розширень

Огляд
Розширення типів тригерів
Розширення типів вузлів
Довідник API
Previous PageКористувацька подія дії
Next PageWebhook
Повідомлення про переклад ШІ

Ця документація була автоматично перекладена штучним інтелектом.

#Схвалення

This feature is provided by the commercial plugin «Робочий процес: Схвалення», please purchase to use

#Вступ

Схвалення — це тип робочого процесу, спеціально розроблений для завдань, які ініціюються та обробляються людьми для визначення статусу відповідних даних. Зазвичай він використовується для автоматизації офісних процесів або інших завдань, що вимагають ручного прийняття рішень, наприклад, для створення та керування ручними робочими процесами для таких сценаріїв, як "заяви на відпустку", "схвалення відшкодування витрат" та "схвалення закупівлі сировини".

Плагін Схвалення надає спеціальний тип робочого процесу (тригер) "Схвалення (подія)" та спеціальний вузол "Схвалення" для цього процесу. У поєднанні з унікальними користувацькими колекціями та користувацькими блоками NocoBase ви можете швидко та гнучко створювати та керувати різноманітними сценаріями схвалення.

#Створення робочого процесу

Під час створення робочого процесу оберіть тип "Схвалення", щоб створити робочий процес схвалення:

Тригер схвалення_Створення робочого процесу схвалення

Після цього в інтерфейсі конфігурації робочого процесу натисніть на тригер, щоб відкрити діалогове вікно для додаткових налаштувань.

#Конфігурація тригера

#Прив'язка колекції

Плагін Схвалення NocoBase розроблений з урахуванням гнучкості та може використовуватися з будь-якою користувацькою колекцією. Це означає, що конфігурація схвалення не вимагає повторного налаштування моделі даних, а безпосередньо використовує вже існуючу колекцію. Тому, після входу в конфігурацію тригера, спочатку потрібно обрати колекцію, щоб визначити, створення або оновлення даних якої колекції буде запускати цей робочий процес:

Тригер схвалення_Конфігурація тригера_Вибір колекції

Потім, у формі для створення (або редагування) даних відповідної колекції, прив'яжіть цей робочий процес до кнопки "Надіслати":

Ініціювати схвалення_Прив'язка робочого процесу

Після цього, коли користувач надсилає цю форму, буде запущено відповідний робочий процес схвалення. Надіслані дані не лише зберігаються у відповідній колекції, але й створюється їхній знімок у потоці схвалення для подальшого перегляду та використання особами, що схвалюють.

#Відкликання

Якщо робочий процес схвалення дозволяє ініціатору відкликати його, вам потрібно увімкнути кнопку "Відкликати" в конфігурації інтерфейсу ініціатора:

Тригер схвалення_Конфігурація тригера_Дозволити відкликання

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

Примітка

Після увімкнення або видалення кнопки "Відкликати" у діалоговому вікні конфігурації тригера необхідно натиснути "Зберегти" та "Надіслати", щоб зміни набули чинності.

#Конфігурація інтерфейсу форми ініціатора

Нарешті, вам потрібно налаштувати інтерфейс форми ініціатора. Цей інтерфейс буде використовуватися для надсилання запитів при ініціюванні з блоку центру схвалення та при повторному ініціюванні після відкликання. Натисніть кнопку "Налаштувати", щоб відкрити діалогове вікно:

Тригер схвалення_Конфігурація тригера_Форма ініціатора

Ви можете додати форму для інтерфейсу ініціатора на основі прив'язаної колекції, або додати описовий текст (Markdown) для підказок та вказівок. Форма є обов'язковою; інакше ініціатор не зможе виконувати жодних дій після входу в цей інтерфейс.

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

Тригер схвалення_Конфігурація тригера_Форма ініціатора_Конфігурація полів

Окрім кнопки прямого надсилання, ви також можете додати кнопку дії "Зберегти як чернетку" для підтримки процесу тимчасового зберігання:

Тригер схвалення_Конфігурація тригера_Форма ініціатора_Конфігурація дій

#Вузол схвалення

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

#Налаштування ініціювання схвалення

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

Ініціювати схвалення_Прив'язка робочого процесу

Після прив'язки робочого процесу, коли користувач надсилає поточну форму, ініціюється схвалення.

Примітка

Наразі кнопка для ініціювання схвалення підтримує лише кнопку "Надіслати" (або "Зберегти") у формі створення або оновлення. Вона не підтримує кнопку "Надіслати до робочого процесу" (яка може бути прив'язана лише до "Події після дії").

#Центр завдань

Центр завдань надає єдину точку входу для користувачів, щоб переглядати та обробляти свої завдання. До схвалень, ініційованих поточним користувачем, та його незавершених завдань можна отримати доступ через Центр завдань на верхній панелі інструментів, а різні типи завдань можна переглядати за допомогою навігації ліворуч.

20250310161203

#Мої подання

#Перегляд поданих схвалень

20250310161609

#Безпосереднє ініціювання нового схвалення

20250310161658

#Мої завдання

#Список завдань

20250310161934

#Деталі завдання

20250310162111

#HTTP API

#Ініціатор

#Ініціювання з колекції

Щоб ініціювати з блоку даних, ви можете зробити виклик таким чином (на прикладі кнопки створення для колекції posts):

curl -X POST -H 'Authorization: Bearer <your token>' -H 'X-Role: <roleName>' -d \
  '{
    "title": "Hello, world!",
    "content": "This is a test post."
  }'
  "http://localhost:3000/api/posts:create?triggerWorkflows=workflowKey"

Тут параметр URL triggerWorkflows — це ключ робочого процесу; кілька ключів робочих процесів розділяються комами. Цей ключ можна отримати, навівши курсор миші на назву робочого процесу у верхній частині полотна робочого процесу:

Робочий процес_Ключ_Спосіб перегляду

Після успішного виклику буде запущено робочий процес схвалення для відповідної колекції posts.

Примітка

Оскільки зовнішні виклики також повинні ґрунтуватися на ідентифікації користувача, при виклику через HTTP API, як і при запитах, що надсилаються зі звичайного інтерфейсу, необхідно надати інформацію для автентифікації, включаючи заголовок Authorization або параметр token (токен, отриманий при вході), а також заголовок X-Role (поточне ім'я ролі користувача).

Якщо вам потрібно запустити подію для даних, пов'язаних за принципом "один до одного" (зв'язок "один до багатьох" наразі не підтримується) у цій дії, ви можете використати ! у параметрі, щоб вказати дані тригера для поля зв'язку:

curl -X POST -H 'Authorization: Bearer <your token>' -H 'X-Role: <roleName>' -d \
  '{
    "title": "Hello, world!",
    "content": "This is a test post.",
    "category": {
      "title": "Test category"
    }
  }'
  "http://localhost:3000/api/posts:create?triggerWorkflows=workflowKey!category"

Після успішного виклику буде запущено подію схвалення для відповідної колекції categories.

Примітка

При запуску події після дії через HTTP API також необхідно звернути увагу на статус увімкнення робочого процесу та відповідність конфігурації колекції; інакше виклик може бути невдалим або призвести до помилки.

#Ініціювання з Центру схвалення

curl -X POST -H 'Authorization: Bearer <your token>' -H 'X-Role: <roleName>' -d \
  '{
    "collectionName": "<collection name>",
    "workflowId": <workflow id>,
    "data": { "<field>": "<value>" },
    "status": <initial approval status>,
  }'
  "http://localhost:3000/api/approvals:create"

Параметри

  • collectionName: Назва цільової колекції для ініціювання схвалення, обов'язковий.
  • workflowId: ID робочого процесу, що використовується для ініціювання схвалення, обов'язковий.
  • data: Поля запису колекції, створеного під час ініціювання схвалення, обов'язковий.
  • status: Статус запису, створеного під час ініціювання схвалення, обов'язковий. Можливі значення:
    • 0: Чернетка, означає збереження без надсилання на схвалення.
    • 1: Надіслати на схвалення, означає, що ініціатор надсилає запит на схвалення, переходячи до процесу схвалення.

#Зберегти та надіслати

Коли ініційоване (або відкликане) схвалення знаходиться в стані чернетки, ви можете зберегти або надіслати його знову через наступний API:

curl -X POST -H 'Authorization: Bearer <your token>' -H 'X-Role: <roleName>' -d \
  '{
    "data": { "<field>": "<value>" },
    "status": 2
  }'
  "http://localhost:3000/api/approvals:update/<approval id>"

#Отримати список поданих схвалень

curl -X GET -H 'Authorization: Bearer <your token>' -H 'X-Role: <roleName>' \
  "http://localhost:3000/api/approvals:listMine"

#Відкликання

Ініціатор може відкликати запис, що перебуває на схваленні, за допомогою наступного API:

curl -X POST -H 'Authorization: Bearer <your token>' -H 'X-Role: <roleName>' -d \
  "http://localhost:3000/api/approvals:withdraw/<approval id>"

Параметри

  • <approval id>: ID запису схвалення, який потрібно відкликати, обов'язковий.

#Схвалювач

Після того, як робочий процес схвалення переходить до вузла схвалення, для поточного схвалювача створюється завдання. Схвалювач може виконати завдання схвалення через інтерфейс або за допомогою виклику HTTP API.

#Отримати записи схвалення

Завдання — це записи обробки схвалення. Ви можете отримати всі записи обробки схвалення поточного користувача за допомогою наступного API:

curl -X GET -H 'Authorization: Bearer <your token>' \
  "http://localhost:3000/api/approvalRecords:listMine"

Тут approvalRecords є ресурсом колекції, тому ви можете використовувати загальні умови запиту, такі як filter, sort, pageSize та page.

#Отримати окремий запис схвалення

curl -X GET -H 'Authorization: Bearer <your token>' \
  "http://localhost:3000/api/approvalRecords:get/<record id>"

#Схвалити та відхилити

curl -X POST -H 'Authorization: Bearer <your token>' -d \
  '{
    "status": 2,
    "comment": "Looks good to me.",
    "data": { "<field to modify>": "<value>" }
  }'
  "http://localhost:3000/api/approvalRecords:submit/<record id>"

Параметри

  • <record id>: ID запису, який потрібно схвалити, обов'язковий.
  • status: Поле статусу процесу схвалення, 2 означає "Схвалити", -1 означає "Відхилити", обов'язковий.
  • comment: Коментар до процесу схвалення, необов'язковий.
  • data: Зміни до запису колекції, що знаходиться в поточному вузлі схвалення, після схвалення, необов'язковий (діє лише при схваленні).

#Повернути v1.9.0+

До версії v1.9.0 повернення використовувало той самий API, що й "Схвалити" та "Відхилити", де "status": 1 означало повернення.

Починаючи з версії v1.9.0, для повернення з'явився окремий API:

curl -X POST -H 'Authorization: Bearer <your token>' -d \
  '{
    "returnToNodeKey": "<node key>",
  }'
  "http://localhost:3000/api/approvalRecords:return/<record id>"

Параметри

  • <record id>: ID запису, який потрібно схвалити, обов'язковий.
  • returnToNodeKey: Ключ цільового вузла для повернення, необов'язковий. Якщо у вузлі налаштовано діапазон вузлів, до яких можна повернутися, цей параметр можна використовувати для вказівки, до якого вузла повернутися. Якщо не налаштовано, цей параметр не потрібно передавати, і за замовчуванням він повернеться до початкової точки для повторного надсилання ініціатором.

#Делегувати

curl -X POST -H 'Authorization: Bearer <your token>' -d \
  '{
    "assignee": <user id>,
  }'
  "http://localhost:3000/api/approvalRecords:delegate/<record id>"

Параметри

  • <record id>: ID запису, який потрібно схвалити, обов'язковий.
  • assignee: ID користувача, якому делегувати, обов'язковий.

#Додати підписанта

curl -X POST -H 'Authorization: Bearer <your token>' -d \
  '{
    "assignees": [<user id>],
    "order": <order>,
  }'
  "http://localhost:3000/api/approvalRecords:add/<record id>"

Параметри

  • <record id>: ID запису, який потрібно схвалити, обов'язковий.
  • assignees: Список ID користувачів для додавання як підписантів, обов'язковий.
  • order: Порядок доданого підписанта. -1 означає "до мене", 1 означає "після мене".