# Переменные

## Введение

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

![20251030114458](https://static-docs.nocobase.com/20251030114458.png)

## Поддерживаемые переменные

### Текущий пользователь

Представляет данные текущего вошедшего в систему пользователя.

![20240416154950](https://static-docs.nocobase.com/20240416154950.png)

### Текущая роль

Представляет идентификатор роли (role name) текущего вошедшего в систему пользователя.

![20240416155100](https://static-docs.nocobase.com/20240416155100.png)

### Текущая форма

Значения текущей формы, используются только в блоках форм. Сценарии использования включают:

- Правила связывания для текущей формы
- Значения по умолчанию для полей формы (действительны только при добавлении новых данных)
- Настройки области данных для полей связей
- Настройка присвоения значений полям для действий отправки

#### Правила связывания для текущей формы

![20251027114920](https://static-docs.nocobase.com/20251027114920.png)

#### Значения по умолчанию для полей формы (только для новых форм)

![20251027115016](https://static-docs.nocobase.com/20251027115016.png)

<!-- ![20240416171129_rec_](https://static-docs.nocobase.com/20240416171129_rec_.gif) -->

#### Настройка области данных для полей связей

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

**Пример:**

1. Пользователь выбирает значение для поля **Владелец**.
2. Система автоматически фильтрует варианты для поля **Аккаунт** на основе **имени пользователя** выбранного Владельца.

![20251030151928](https://static-docs.nocobase.com/20251030151928.png)

<!-- ![20240416171743_rec_](https://static-docs.nocobase.com/20240416171743_rec_.gif) -->

<!-- #### Настройка присвоения значений полям для действий отправки

![20240416171215_rec_](https://static-docs.nocobase.com/20240416171215_rec_.gif) -->

<!-- ### Текущий объект

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

- Значение по умолчанию для подполей
- Область данных для подполей связей

#### Значение по умолчанию для подполей

![20240416172933_rec_](https://static-docs.nocobase.com/20240416172933_rec_.gif)

#### Область данных для подполей связей

![20240416173043_rec_](https://static-docs.nocobase.com/20240416173043_rec_.gif) -->

<!-- ### Родительский объект

Аналогично «Текущему объекту», представляет родительский объект текущего объекта. Поддерживается в NocoBase v1.3.34-beta и выше. -->

### Текущая запись

Запись — это строка в коллекции, каждая из которых представляет собой отдельную запись. Переменная «Текущая запись» доступна в **правилах связывания для действий со строками** в блоках отображения.

Пример: Отключить кнопку удаления для документов со статусом «Оплачено».

![20251027120217](https://static-docs.nocobase.com/20251027120217.png)

### Текущая запись во всплывающем окне

Действия со всплывающими окнами играют очень важную роль в настройке интерфейса NocoBase.

- Всплывающие окна для действий со строками: каждое всплывающее окно имеет переменную «Текущая запись во всплывающем окне», представляющую текущую запись строки.
- Всплывающие окна для полей связей: каждое всплывающее окно имеет переменную «Текущая запись во всплывающем окне», представляющую запись связи, по которой был выполнен клик.

Блоки внутри всплывающего окна могут использовать переменную «Текущая запись во всплывающем окне». Соответствующие сценарии использования включают:

- Настройка области данных блока
- Настройка области данных поля связи
- Настройка значений по умолчанию для полей (в форме для добавления новых данных)
- Настройка правил связывания для действий

<!-- #### Настройка области данных блока

![20251027151107](https://static-docs.nocobase.com/20251027151107.png)

#### Настройка области данных поля связи

![20240416224641_rec_](https://static-docs.nocobase.com/20240416224641_rec_.gif)

#### Настройка значений по умолчанию для полей (в форме для добавления новых данных)

![20240416223846_rec_](https://static-docs.nocobase.com/20240416223846_rec_.gif)

#### Настройка правил связывания для действий

![20240416223101_rec_](https://static-docs.nocobase.com/20240416223101_rec_.gif)

<!--
#### Настройка присвоения значений полям для действий отправки формы

![20240416224014_rec_](https://static-docs.nocobase.com/20240416224014_rec_.gif) -->

<!-- ### Выбранные записи таблицы

В настоящее время используется только для значения по умолчанию полей формы в действии «Добавить запись» блока таблицы

#### Значение по умолчанию полей формы для действия «Добавить запись» -->

<!-- ### Родительская запись (устарело)

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

:::warning
«Родительская запись» устарела. Рекомендуется использовать эквивалентную переменную «Текущая запись во всплывающем окне».
:::

<!-- ### Переменные даты

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

#### Сценарии фильтрации

Соответствующие сценарии использования включают:

- Установка условий поля даты для областей данных блока
- Установка условий поля даты для областей данных поля связи
- Установка условий поля даты для правил связывания действий

![20250522211606](https://static-docs.nocobase.com/20250522211606.png)

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

- Текущее время
- Вчера
- Сегодня
- Завтра
- Прошлая неделя
- Эта неделя
- Следующая неделя
- Прошлый месяц
- Этот месяц
- Следующий месяц
- Прошлый квартал
- Этот квартал
- Следующий квартал
- Прошлый год
- Этот год
- Следующий год
- Последние 7 дней
- Следующие 7 дней
- Последние 30 дней
- Следующие 30 дней
- Последние 90 дней
- Следующие 90 дней

#### Сценарии присвоения

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

- Для полей Timestamp и полей DateTime с часовым поясом переменная анализируется в полную строку времени UTC, например 2024-04-20T16:00:00.000Z, которая включает информацию о часовом поясе и подходит для синхронизации между часовыми поясами.

- Для полей DateTime без часового пояса переменная анализируется в строку формата местного времени, например 2025-04-21 00:00:00, без информации о часовом поясе, что больше подходит для обработки локальной бизнес-логики.

- Для полей DateOnly переменная анализируется в чистую строку даты, например 2025-04-21, содержащую только год, месяц и день, без части времени.

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

![20250522212802](https://static-docs.nocobase.com/20250522212802.png)

Соответствующие сценарии использования включают:

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

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

- Сейчас
- Вчера
- Сегодня
- Завтра -->

### Параметры запроса URL

Эта переменная представляет параметры запроса в URL текущей страницы. Она доступна только в том случае, если в URL страницы присутствует строка запроса. Использовать ее в сочетании с [действием «Ссылка»](/interface-builder/actions/types/link) будет удобнее.

![20251027173017](https://static-docs.nocobase.com/20251027173017.png)

![20251027173121](https://static-docs.nocobase.com/20251027173121.png)

### API-токен

Значение этой переменной представляет собой строку, которая является учетными данными для доступа к API NocoBase. Ее можно использовать для проверки личности пользователя.

### Тип текущего устройства

Пример: Не отображать действие «Печать шаблона» на устройствах, отличных от настольных компьютеров.

![20251029215303](https://static-docs.nocobase.com/20251029215303.png)