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Журнал выполнения
Уведомление о переводе ИИ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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