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