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 PageЗавдання за розкладом
Повідомлення про переклад ШІ

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

#Події колекції

#Вступ

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

#Основне використання

Зміни в колекції можуть відбуватися в кількох випадках:

  1. Після створення даних.
  2. Після оновлення даних.
  3. Після створення або оновлення даних.
  4. Після видалення даних.

Подія колекції_Вибір часу спрацьовування

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

Подія колекції_Вибір змінених полів

Більш детально, ви можете налаштувати правила умов для кожного поля рядка даних, що викликає спрацьовування. Тригер спрацює лише тоді, коли поля відповідатимуть відповідним умовам.

Подія колекції_Налаштування умов для даних

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

#Пов'язані поради

#Наразі не підтримується спрацьовування за допомогою масових операцій з даними

Події колекції наразі не підтримують спрацьовування за допомогою масових операцій з даними. Наприклад, при створенні статті та одночасному додаванні кількох тегів для цієї статті (дані зв'язку «один-до-багатьох»), буде запущено лише робочий процес для створення статті. Одночасно створені теги не запускатимуть робочий процес для створення тегів. При зв'язуванні або додаванні даних зв'язку «багато-до-багатьох» робочий процес для проміжної колекції також не буде запущено.

#Операції з даними поза застосунком не запускатимуть події

Операції з колекціями через виклики HTTP API до інтерфейсу застосунку також можуть запускати відповідні події. Однак, якщо зміни даних відбуваються безпосередньо через операції з базою даних, а не через застосунок NocoBase, відповідні події не можуть бути запущені. Наприклад, власні тригери бази даних не будуть пов'язані з робочими процесами в застосунку.

Крім того, використання вузла SQL-операції для роботи з базою даних еквівалентно прямим операціям з базою даних і не запускатиме події колекції.

#Зовнішні джерела даних

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

#Приклад

Розглянемо сценарій, коли після створення нового замовлення розраховується загальна вартість і списуються товарні запаси.

Спершу створимо колекції «Товари» та «Замовлення» з такими моделями даних:

Назва поляТип поля
Назва товаруОднорядковий текст
ЦінаЧисло
ЗапасиЦіле число
Назва поляТип поля
Номер замовленняПослідовність
Товар замовленняБагато-до-одного (Товари)
Загальна вартість замовленняЧисло

Додамо базові дані товарів:

Назва товаруЦінаЗапаси
iPhone 14 Pro799910
iPhone 13 Pro59990

Потім створимо робочий процес на основі події колекції «Замовлення»:

Подія колекції_Приклад_Тригер нового замовлення

Ось деякі з параметрів конфігурації:

  • Колекція: Виберіть колекцію «Замовлення».
  • Час спрацьовування: Виберіть «Після створення даних».
  • Умови спрацьовування: Залиште порожнім.
  • Попереднє завантаження даних зв'язків: Позначте «Товари».

Потім налаштуйте інші вузли відповідно до логіки робочого процесу: перевірте, чи запаси товару більші за 0. Якщо так, спишіть запаси; інакше замовлення є недійсним і має бути видалене:

Подія колекції_Приклад_Оркестрація робочого процесу нового замовлення

Конфігурація вузлів буде детально описана в документації для конкретних типів вузлів.

Увімкніть цей робочий процес і протестуйте його, створивши нове замовлення через інтерфейс. Після оформлення замовлення на «iPhone 14 Pro» запаси відповідного товару зменшаться до 9. Якщо ж замовлення буде оформлено на «iPhone 13 Pro», замовлення буде видалено через недостатність запасів.

Подія колекції_Приклад_Результат виконання нового замовлення