При разработке управляемых форм в платформе «1С:Предприятие 8.3» разработчики, имеющие опыт работы с другими системами или обычными формами, часто пытаются найти тип данных Переключатель или Radiobutton при создании нового реквизита формы. Однако в списке типов данных такого пункта нет. Разберем по шагам, с чем связано это ограничение и как правильно добавить радиокнопки на управляемую форму.
Выясним главную причину: в концепции управляемого интерфейса 1С Переключатель — это не тип данных, а вид элемента формы (элемент управления). Тип данных определяет, какую информацию хранит реквизит (число, строка, ссылка на справочник, перечисление), а вид элемента формы отвечает за то, как эти данные визуально отображаются пользователю.
Для создания радиокнопки необходимо сначала создать реквизит формы подходящего типа, а затем связать его с элементом формы специального вида.
Посмотрим, какие типы реквизитов подходят для отображения в виде переключателя:
0, 1, 2).Обратите внимание: Для типа Булево платформа по умолчанию использует вид Поле флажка. Если требуется организовать выбор из двух состояний («Да» / «Нет») именно в виде радиокнопок, обычно создают реквизит с типом Число (со значениями 0 и 1) или используют отдельное перечисление.
Рассмотрим порядок действий для настройки переключателя в конфигураторе:
ВариантВыбора) и укажем для него тип Число.0 — Представление: Пользовательский режим; Значение: 1 — Представление: Административный режим).Важное правило: Если для элемента с видом Поле переключателя оставить свойство Список выбора пустым, в режиме «1С:Предприятие» данный элемент просто не отобразится на форме.
Проанализируем ситуацию, когда список вариантов неизвестен заранее или должен формироваться динамически. В этом случае заполнение списка выбора выполняется в серверном модуле формы при ее создании:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// Получаем элемент формы и очищаем его список выбора
ЭлементПереключатель = Элементы.ВариантВыбора;
ЭлементПереключатель.СписокВыбора.Очистить();
// Добавляем варианты (Значение, Представление)
ЭлементПереключатель.СписокВыбора.Добавить(0, "Режим 1: Стандартный");
ЭлементПереключатель.СписокВыбора.Добавить(1, "Режим 2: Расширенный");
ЭлементПереключатель.СписокВыбора.Добавить(2, "Режим 3: Экспертный");
КонецПроцедуры
Разберем дополнительные свойства, которые позволяют управлять внешним видом и логикой работы переключателя:
Тумблер превратит элемент в современную сегментированную панель кнопок.0, что означает автоматическую компоновку платформой.Поле переключателя предназначены для размещения на самой форме или внутри групп формы. Их нельзя использовать внутри строк табличных частей или колонок динамических списков.ПриИзменении самого элемента формы не вызовется. Если с переключением связана дополнительная логика, соответствующую процедуру необходимо вызывать из кода вручную.