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