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