К статье
Практический материал

Разработка и Конфигурация · 8 мин

Как сделать тумблер в 1С: пошаговая инструкция

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

«Тумблер» в 1С — это элемент управления, который переключает значение между двумя состояниями: «включено» и «выключено». Технически он реализуется реквизитом с типом «Булево» и отображается на форме как флажок или, в управляемых формах, как поле в виде переключателя. Такой элемент используют для настроек документов, признаков в справочниках, параметров обработок.

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

Что такое тумблер в 1С и где он применяется

Под тумблером обычно понимают визуальный переключатель в стиле мобильных интерфейсов: ползунок, который двигается влево-вправо. В 1С:Предприятии нет отдельного элемента «тумблер», но его роль выполняет поле, связанное с булевым реквизитом. В зависимости от вида поля пользователь видит либо классический флажок с галочкой, либо переключатель, либо поле ввода со значениями «Да/Нет».

Типичные сценарии применения: признак «Активен» в карточке контрагента, настройка «Отправлять уведомления» в обработке, флаг «Включать НДС» в документе, параметр отбора в отчёте. Во всех случаях логика одинаковая — хранить и переключать значение Истина/Ложь.

Добавление реквизита типа «Булево»

Откройте конфигуратор, найдите нужный объект (справочник, документ, обработку) и перейдите на вкладку «Данные». Добавьте новый реквизит, задайте имя, например «ИспользоватьСкидку», и выберите тип «Булево». Синоним заполните понятной пользователю фразой — именно он отобразится на форме как подпись.

Если тумблер нужен только на форме обработки или отчёта и не должен сохраняться в базе, добавьте реквизит не объекта, а формы. Для этого откройте форму, в правой панели перейдите на вкладку «Реквизиты» и добавьте реквизит формы с типом «Булево». Такой подход безопаснее для типовых конфигураций: структура метаданных не меняется, обновление не затрагивается.

Вывод тумблера на форму

Откройте форму объекта в конфигураторе. В панели реквизитов найдите созданный булев реквизит и перетащите его в дерево элементов формы в нужное место — например, в группу настроек. Платформа автоматически создаст поле и свяжет его с данными.

По умолчанию платформа обычно выбирает вид «Поле флажка». Чтобы изменить внешний вид, выделите элемент формы, откройте палитру свойств и найдите свойство «Вид». Для булева значения доступны варианты: поле флажка, поле переключателя (тумблер) и поле ввода. Вид «переключатель» поддерживается в управляемых формах современных версий платформы и выглядит как привычный слайдер.

Порядок действий
  1. 1
    Откройте конфигуратор и создайте резервную копию базы
  2. 2
    Добавьте реквизит типа «Булево» в объект или в реквизиты формы
  3. 3
    Откройте форму и перетащите реквизит в дерево элементов
  4. 4
    Выделите элемент и в свойстве «Вид» выберите «Поле переключателя» или «Поле флажка»
  5. 5
    Задайте понятный заголовок и положение заголовка
  6. 6
    Обновите конфигурацию базы данных (F7) и проверьте результат в режиме предприятия

Настройка внешнего вида и поведения

Для тумблера важны несколько свойств. «Заголовок» — текст рядом с переключателем; «ПоложениеЗаголовка» определяет, где он располагается (слева, справа, сверху). Свойство «Подсказка» и «ОтображениеПодсказки» помогают объяснить пользователю, что делает переключатель, не перегружая форму текстом.

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

Пример обработчика изменения тумблера в модуле формы:

&НаКлиенте

Процедура ИспользоватьСкидкуПриИзменении(Элемент)

Элементы.ПроцентСкидки.Видимость = Объект.ИспользоватьСкидку;

Если Не Объект.ИспользоватьСкидку Тогда

Объект.ПроцентСкидки = 0;

КонецЕсли;

КонецПроцедуры

Обработка значения тумблера в коде

Значение булева реквизита читается и проверяется напрямую: Если Объект.ИспользоватьСкидку Тогда ... КонецЕсли;. Не сравнивайте его с Истиной через знак равенства без необходимости — конструкция «Если Флаг = Истина Тогда» избыточна и считается плохим стилем.

Для установки значения по умолчанию используйте обработчик «ПриСозданииНаСервере» в форме или подписку на событие «ОбработкаЗаполнения» в модуле объекта. Например, новому документу можно сразу присвоить Истина, чтобы функция была включена по умолчанию.

bsl
Если Объект.ИспользоватьСкидку Тогда
    СуммаСоСкидкой = Сумма * (100 - Объект.ПроцентСкидки) / 100;
КонецЕсли;

Типичные ошибки при создании тумблера

Типичные ошибки
01
Реквизит добавлен в объект, но не перенесён на форму — пользователь не видит тумблер, хотя данные сохраняются
02
Изменён вид поля, но конфигурация базы данных не обновлена — в режиме предприятия форма выглядит по-старому
03
Логика видимости написана только в ПриИзменении — при открытии сохранённого документа связанные поля отображаются неверно; начальное состояние нужно задавать и в ПриСозданииНаСервере/ПриОткрытии
04
Использование строки «Да/Нет» вместо типа Булево — усложняет проверки, отборы и запросы
05
Снятие типового объекта с поддержки ради одного флажка вместо использования дополнительных реквизитов

Отдельная частая проблема — тумблер, который визуально переключается, но значение не сохраняется. Причина почти всегда в том, что элемент формы не связан с реквизитом данных: проверьте свойство «ПутьКДанным» элемента. Оно должно указывать на ваш булев реквизит.

Проверка результата

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

Контрольные точки

Как проверить результат

Сохранение значения
Норма

После закрытия и повторного открытия тумблер в том же положении

Тревожный признак

Значение сбрасывается — проверьте ПутьКДанным элемента

Внешний вид
Норма

Отображается переключатель или флажок с понятной подписью

Тревожный признак

Поле ввода с текстом «Да/Нет» — измените свойство Вид

Связанные элементы
Норма

Видимость полей соответствует состоянию тумблера при открытии и переключении

Тревожный признак

При открытии состояние неверное — добавьте инициализацию в обработчик открытия

FAQ

Можно ли сделать тумблер без изменения конфигурации?

Да, если конфигурация на базе БСП: используйте механизм «Дополнительные реквизиты» в разделе администрирования. Добавьте дополнительный реквизит с типом «Булево» для нужного объекта — он появится на форме без доработки в конфигураторе и не повлияет на обновления.

Почему в свойстве «Вид» нет варианта «Поле переключателя»?

Вид переключателя доступен только в управляемых формах и зависит от версии платформы и режима совместимости конфигурации. В обычных формах и при старом режиме совместимости доступен только флажок. Проверьте версию платформы и свойство «Режим совместимости» в корне конфигурации.

Как сделать тумблер с тремя состояниями?

Тип Булево поддерживает только два значения. Для трёх состояний используйте числовой реквизит или перечисление с видом поля «Переключатель» (radio buttons) либо поле флажка со свойством, допускающим неопределённое состояние, если это допустимо с точки зрения логики.

Как отфильтровать список по значению тумблера?

В динамическом списке добавьте отбор по булеву реквизиту: в настройках списка пользователь может поставить условие «равно Истина». Программно это делается через элементы отбора компоновки данных: Отбор.Элементы.Добавить с правым значением Истина.

Тумблер переключается, но при проведении документа значение теряется. Что делать?

Проверьте, не очищается ли реквизит в обработчиках «ПередЗаписью» или «ОбработкаПроведения» модуля объекта. Также убедитесь, что на форме нет второго элемента, связанного с другим реквизитом с похожим именем, — пользователь может переключать не тот флаг.

Итог

Что важно запомнить

Тумблер в 1С — это реквизит типа «Булево» с видом поля «переключатель» или «флажок». Добавьте реквизит, выведите его на форму, настройте вид и обработчик ПриИзменении, проверьте сохранение значения и начальное состояние при открытии. Для типовых конфигураций предпочтительны дополнительные реквизиты без снятия с поддержки.