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

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

Как называется чекбокс в 1С и как с ним работать

В 1С чекбокс называется флажком и связан с типом Булево. Разбираем, где найти элемент «Флажок», как добавить его на форму, в отчёт и как работать с ним в коде.

Чекбокс в 1С называется флажком. Это официальный термин платформы: в конфигураторе элемент управления так и подписан — «Флажок», а данные, которые он отображает, имеют тип Булево и принимают значения Истина или Ложь. Если вы ищете в палитре элементов формы слово «чекбокс», вы его не найдёте — ищите именно «Флажок».

Термин «чекбокс» пришёл из веб-разработки и общего UI-сленга, поэтому новички часто путаются при переходе на 1С. В документации фирмы «1С», в синтакс-помощнике и во всех типовых конфигурациях используется только слово «флажок». Знание правильного термина важно не только для поиска элемента на форме, но и для поиска справки: запрос «флажок 1С» даст точные результаты, а «чекбокс 1С» — в основном форумные обсуждения.

Ниже разберём, где находится флажок в конфигураторе, как добавить его на форму, как связать с реквизитом, как обращаться к нему из кода и какие ошибки встречаются чаще всего.

Как называется чекбокс в разных контекстах 1С

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

В языке запросов 1С логические поля тоже называются булевыми, а в условиях проверяются напрямую: ГДЕ Номенклатура.ЭтоГруппа или ГДЕ НЕ Товары.ПометкаУдаления. Отдельного слова «чекбокс» нет ни в одном из этих контекстов.

Где найти флажок в конфигураторе

Откройте конфигуратор, перейдите к нужной форме объекта (например, форме элемента справочника) и раскройте дерево элементов. Чтобы добавить флажок вручную, нажмите правой кнопкой на родительский элемент (форму или группу) и выберите «Добавить» → «Поле» → в свойстве «Вид» укажите «Поле флажка». Если реквизит с типом Булево уже есть, проще перетащить его из панели реквизитов на форму — платформа сама создаст поле нужного вида.

В управляемых формах вид поля определяется автоматически по типу данных: реквизит типа Булево по умолчанию отображается как флажок. В обычных формах (толстый клиент, старые конфигурации) элемент так и называется в палитре — «Флажок».

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

Как работать с флажком в коде

Во встроенном языке 1С значение флажка — это обычная переменная или реквизит типа Булево. Проверка выглядит так:

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

СуммаСкидки = СуммаДокумента * 0.1;

Иначе

СуммаСкидки = 0;

КонецЕсли;

Установить или снять флажок программно можно простым присваиванием: Объект.Активен = Истина;. Для инверсии удобна конструкция Флажок = НЕ Флажок;. Сравнение Если Флажок = Истина Тогда работает, но считается избыточным — значение и так булево.

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

bsl
Если Флажок Тогда
    Сообщить("Флажок установлен");
Иначе
    Сообщить("Флажок снят");
КонецЕсли;

Флажок в отчётах, СКД и динамических списках

В системе компоновки данных (СКД) булевы поля используются как параметры и отборы. Пользователь видит их в настройках отчёта как флажки — например, «Показывать архивные» или «Только активные». В схеме компоновки такой параметр объявляется с типом Булево, а в запросе условие пишется через параметр: ГДЕ &ВсеКлиенты ИЛИ НЕ Клиенты.Архивный.

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

Три состояния флажка и типизация

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

Если вам нужно три осознанных состояния («да», «нет», «не задано»), тип Булево не подойдёт. Используйте перечисление или число с двумя-тремя вариантами и элемент формы «Поле переключателя» (радиокнопки) либо поле выбора. Пытаться хранить «Неопределено» в булевом реквизите объекта базы не получится — платформа не даст записать такое значение.

Чем заменить флажок при необходимости

Поле флажка (Булево)

Стандартный вариант «да/нет». Подходит для большинства настроек и признаков.

Поле переключателя

Когда вариантов 2–3 и все должны быть видны сразу, например «Наличный / Безналичный расчёт».

Поле выбора с перечислением

Когда состояний больше трёх или набор может расширяться.

Типичные ошибки и частые вопросы

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

Типичные ошибки
01
Искать элемент по слову «чекбокс» — в 1С он называется «Флажок»
02
Сравнивать булево значение со строкой "Истина" — сравнение всегда ложно
03
Добавить флажок на форму без реквизита — значение не сохраняется после закрытия
04
Ожидать третье состояние от типа Булево — оно поддерживает только Истина и Ложь
Итог

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

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

Часто задаваемые вопросы

Как в 1С называется чекбокс?

Флажок. Это элемент формы, отображающий значение типа Булево. В конфигураторе, синтакс-помощнике и документации используется именно этот термин.

Какой тип данных соответствует флажку?

Тип Булево. Он принимает два значения: Истина (флажок установлен) и Ложь (флажок снят). Третьего состояния у этого типа нет.

Как программно установить или снять флажок?

Присвойте связанному реквизиту значение Истина или Ложь, например: Объект.Активен = Истина. Для переключения состояния используйте: Флажок = НЕ Флажок.

Почему флажок на форме не сохраняет значение?

Чаще всего элемент формы не связан с реквизитом объекта или формы. Проверьте свойство «ПутьКДанным» у поля — там должен быть указан реквизит типа Булево.

Можно ли сделать флажок с тремя состояниями?

Тип Булево третьего состояния не поддерживает. Для вариантов «да/нет/не задано» используйте перечисление с полем выбора или поле переключателя.

Как проверить флажок в запросе?

Булево поле пишется в условии напрямую: ГДЕ Номенклатура.Активна. Для обратного условия: ГДЕ НЕ Номенклатура.ПометкаУдаления. Сравнение с Истина допустимо, но избыточно.