﻿# Связать настройку виджета с контекстной переменной

> [HTML Version](bind-field-to-widget-option.html)

При добавлении системного или пользовательского виджета на форму можно связать его поля настроек с контекстными переменными. Это позволит динамически менять поведение виджета на странице или в бизнес-процессе. Например, отображать или скрывать вкладку в зависимости от того, какое значение выбрал пользователь в связанном поле.

В статье рассмотрим:

- как установить связь между настройкой виджета и контекстной переменной;

- как настроить видимость вкладки по условию.

## Установить связь с полем

Поля настроек виджетов можно связать с контекстными переменными. Это удобно, если необходимо динамически менять настройки виджета на странице или в бизнес-процессе. Для привязки поля:

1. Нажмите значок (chain_icon.png) справа от нужной опции и выберите **<Не установлено>**.

2. В выпадающем списке вы можете установить связь с полем одним из способов:

- выберите существующую контекстную переменную. В списке отображаются только переменные с тем же типом данных, что и связываемое поле;

- [создайте новую контекстную переменную](#niew-field), нажав **+ Новое поле**.

3. Сохраните и опубликуйте виджет.

Теперь значение настройки зависит от выбранной контекстной переменной.

### Создать новое поле из настроек виджета



Если в контексте нет подходящей переменной для [установки связи с полем](#bind_field), переменную можно добавить в контекст прямо из окна настроек виджета. Для этого нажмите **+ Новое поле**.

**(bind-field-to-widget-option-1.png)**

В открывшемся окне название и тип данных заполняются автоматически значениями из привязываемой настройки виджета. Вы можете изменить название, код и другие параметры свойства. Затем нажмите **Создать**.

Новое поле добавится в контекст виджета и автоматически привяжется к настройке, для которой оно создавалось.

При добавлении поля со сложным типом данных, например [Категория](360009707032.md#category) или [Таблица](360009707032.md#table), в новую переменную переносятся все значения составных параметров с их названиями и кодами. Это помогает быстро создать подходящую контекстную переменную без ввода всех значений вручную.



## Пример настройки видимости вкладки по условию

Допустим, мы учитываем заявки клиентов в приложении **Заказ**. Для заказов без предоплаты требуется указывать сроки оплаты товара. Менеджер заполняет эти сведения на отдельной вкладке. Сделаем так, чтобы она скрывалась или отображалась в зависимости от наличия или отсутствия стопроцентной предоплаты.

Для этого:

1. Перейдите в меню приложения **Заказ** и выберите **Настройка формы**.

2. В открывшемся окне на [вкладке Контекст](360028941112.md) добавьте свойства: **Платежи** типа [Таблица](360010201779.md), **Предоплата 100%** типа [Выбор «да/нет»](360009707032.md#yes_no).

3. Перейдите на вкладку **Создание** и нажмите **<По умолчанию>** и затем кнопку **+** **Создать форму**, или **Редактировать форму**, если форма создана ранее. Откроется [дизайнер интерфейсов](interface_designer.md).

4. Вынесите на поле для моделирования [виджет Вкладки](tabs.md) и добавьте вкладки **Заказ** и **График платежей**. На первую вынесите созданное свойство **Предоплата 100%**, на вторую — свойство **Платежи**.

5. Перейдите в системные настройки вкладки **График платежей**, в поле **Видимость** выберите вариант **Скрыть по условию** и свяжите его со свойством **Предоплата 100%**.

**(bind-field-1.png)**

6. Сохраните и опубликуйте форму создания заказа.

Теперь при снятии флажка **Предоплата 100%** на странице появится новая вкладка **График платежей**, где пользователь может указать сведения о расчётах по заказу. Если же установить флажок **Предоплата 100%**, новая вкладка не отобразится.

**(bind-field-2.PNG)**