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

Триггеры

Обзор
Событие коллекции
Запланированная задача
Событие до действия
Событие после действия
Событие пользовательского действия
Одобрение
Webhook

Узлы

Обзор

Искусственный интеллект

Большая языковая модель

Управление потоком

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

Вычисления

Вычисление
Вычисление даты
Вычисление JSON

Операции с данными

Создание данных
Обновление данных
Запрос данных
Удаление данных
Операция SQL

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

Ручная обработка
Одобрение
Копия (CC)

Расширенные типы

HTTP-запрос
JavaScript-скрипт
Уведомление
Отправка почты
Ответ
Сообщение ответа
Переменные
История выполнения
Управление версиями
Расширенные параметры

Разработка расширений

Обзор
Расширение типов триггеров
Расширение типов узлов
Справочник API
Previous PageСообщение ответа
Next PageИстория выполнения
Уведомление о переводе ИИ

Эта документация была автоматически переведена ИИ.

#Использование переменных

#Основные концепции

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

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

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

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

Узел вычислений, использующий функции и переменные

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

Переменные узла обновления данных

#Структура данных

Внутренне переменная представляет собой JSON-структуру, и вы обычно можете использовать определенную часть данных по ее JSON-пути. Поскольку многие переменные основаны на структуре коллекций NocoBase, связанные данные будут иерархически структурированы как свойства объектов, образуя древовидную структуру. Например, мы можем выбрать значение определенного поля из связанных данных запрошенной записи. Кроме того, когда связанные данные имеют структуру "один ко многим", переменная может быть массивом.

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

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

[
  {
    "id": 1,
    "title": "Заголовок 1"
  },
  {
    "id": 2,
    "title": "Заголовок 2"
  }
]

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

["Заголовок 1", "Заголовок 2"]

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

#Встроенные системные переменные

#Системное время

Получает системное время на момент выполнения узла. Часовой пояс этого времени соответствует часовому поясу, установленному на сервере.

#Параметры диапазона дат

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

Параметры диапазона дат