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