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
Обзор

Блоки

Обзор

Блоки данных

Таблица
Форма
Детали
Список
Карточки-сетка
Диаграмма

Блок фильтров

Форма

Другие блоки

Панель управления
Iframe
Встроенный блок
Markdown
JS Block

Настройки блока

Область данных
Макет
Правила взаимодействия блоков
Правила взаимодействия полей
Правила сортировки
Удаление блока
Заголовок блока

Поле

Обзор

Общие настройки

Поля таблицы
Поля сведений
Поля формы фильтрации
Поля формы

Специальные настройки

Дата
Файловый менеджер
Подформа
Выпадающий список
Селектор данных
Каскадный селектор
Вложенная таблица
Вложенные сведения
Заголовок
JS Field
JS Item
JS Column

Настройки поля

Значение по умолчанию
Метка поля
Отображение метки
Подсказка для поля
Область данных
Компонент поля
Форматирование чисел
Режим
Обязательное
Поле заголовка
Правила валидации
Компонент поля связи

Действие

Обзор

Настройки действия

Кнопка редактирования
Запрос подтверждения
Присвоение значения полю
Привязка рабочего процесса
Модальное окно редактирования
Правила взаимодействия действий

Тип действия

Добавить
Просмотр
Удалить
Редактировать
Импорт
Импорт Pro
Экспорт
Экспорт Pro
Экспорт вложений
Фильтр
Ссылка
Открыть модальное окно
Обновить
Отправить данные
Запустить рабочий процесс
Обновить запись
Массовое обновление
Добавить дочернюю запись
JS Action
Права на действия

Продвинутый уровень

Правила взаимодействия
Поток событий
Переменная
RunJS
Previous PageПрава на действия
Next PageПоток событий
Уведомление о переводе ИИ

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

#Правила связывания

#Введение

В NocoBase правила связывания — это механизм, который позволяет управлять интерактивным поведением элементов пользовательского интерфейса. Он позволяет пользователям настраивать отображение и логику поведения блоков, полей и действий в интерфейсе в зависимости от различных условий, обеспечивая гибкий интерактивный опыт с минимальным написанием кода. Эта функция постоянно дорабатывается и оптимизируется.

Настраивая правила связывания, вы можете, например:

  • Скрывать или отображать определённые блоки в зависимости от текущей роли пользователя. Разные роли могут видеть блоки с различным объёмом данных: например, администраторы видят блоки с полной информацией, в то время как обычные пользователи могут видеть только блоки с базовой информацией.
  • При выборе определённой опции в форме автоматически заполнять или сбрасывать значения других полей.
  • При выборе определённой опции в форме отключать некоторые поля ввода.
  • При выборе определённой опции в форме делать некоторые поля ввода обязательными.
  • Управлять видимостью или кликабельностью кнопок действий при определённых условиях.

#Настройка условий

20251029114532

#Левая переменная

Левая переменная в условии используется для определения «объекта оценки» в правиле связывания. Условие оценивается на основе значения этой переменной, чтобы определить, следует ли запускать действие связывания.

Доступные переменные включают:

  • Поля в контексте, такие как Текущая форма/xxx, Текущая запись/xxx, Текущая запись во всплывающем окне/xxx и т. д.
  • Системные глобальные переменные, такие как Текущий пользователь, Текущая роль и т. д., подходящие для динамического управления на основе идентификации пользователя, разрешений и другой информации.

    ✅ Доступные опции для левой переменной определяются контекстом блока. Используйте левую переменную разумно, исходя из бизнес-потребностей:

    • Текущий пользователь представляет информацию о текущем вошедшем в систему пользователе.
    • Текущая форма представляет значения, введённые в форму в реальном времени.
    • Текущая запись представляет сохранённое значение записи, например, строку в таблице.

#Оператор

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

  • Текстовый тип: $includes, $eq, $ne, $empty, $notEmpty и т. д.
  • Числовой тип: $eq, $gt, $lt, $gte, $lte и т. д.
  • Булев тип: $isTruly, $isFalsy
  • Тип массива: $match, $anyOf, $empty, $notEmpty и т. д.

✅ Система автоматически предложит список доступных операторов на основе типа левой переменной, чтобы обеспечить логичность конфигурации.

#Правое значение

Используется для сравнения с левой переменной и является эталонным значением для определения выполнения условия.

Поддерживаемое содержимое включает:

  • Константные значения: введите фиксированные числа, текст, даты и т. д.
  • Контекстные переменные: например, другие поля в текущей форме, текущая запись и т. д.
  • Системные переменные: например, текущий пользователь, текущее время, текущая роль и т. д.

✅ Система автоматически адаптирует метод ввода для правого значения в зависимости от типа левой переменной, например:

  • Если левая сторона является «полем выбора», будет отображён соответствующий селектор опций.
  • Если левая сторона является «полем даты», будет отображён выбор даты.
  • Если левая сторона является «текстовым полем», будет отображено текстовое поле ввода.

💡 Гибкое использование правых значений (особенно динамических переменных) позволяет создавать логику связывания на основе текущего пользователя, текущего состояния данных и контекста, тем самым обеспечивая более мощный интерактивный опыт.

#Логика выполнения правил

#Срабатывание условия

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

#Несколько правил

Вы можете настроить несколько правил связывания для одной формы. Когда условия нескольких правил выполняются одновременно, система будет выполнять их по порядку, от первого к последнему, то есть последнее выполненное правило будет определять окончательный результат. Пример: Правило 1 устанавливает поле как «Отключено», а Правило 2 устанавливает поле как «Редактируемое». Если условия обоих правил выполняются, поле станет «Редактируемым».

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

#Управление правилами

С каждой записью правила можно выполнять следующие операции:

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

#О переменных

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

#Правила связывания блоков

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

👉 Подробнее см.: Блок/Правила связывания блоков

#Правила связывания полей

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

  • Управление состоянием отображения/скрытия поля
  • Установка поля как обязательного
  • Присвоение значения
  • Выполнение JavaScript для обработки пользовательской бизнес-логики

👉 Подробнее см.: Блок/Правила связывания полей

#Правила связывания действий

Правила связывания действий в настоящее время поддерживают управление поведением действий, таким как скрытие/отключение, на основе контекстных переменных (например, значение текущей записи и текущая форма), а также глобальных переменных.

👉 Подробнее см.: Действие/Правила связывания