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

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

Как создать поле флажка в 1С

Как добавить реквизит с типом Булево (флажок) в 1С: в конфигураторе, через расширение и в режиме предприятия. Пошаговая инструкция, ошибки и проверка.

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

Способ добавления флажка зависит от того, где вы работаете и что именно хотите получить. В типовой конфигурации без доступа к конфигуратору можно использовать механизм дополнительных реквизитов. Если есть возможность доработки — реквизит добавляется в конфигураторе напрямую в объект или через расширение, чтобы не снимать конфигурацию с поддержки.

Ниже разобраны все три сценария с точными действиями, проверкой результата и типичными ошибками. Инструкции применимы к платформе 1С:Предприятие 8.3 и типовым конфигурациям на управляемых формах (Управление торговлей, ERP, Бухгалтерия предприятия, Зарплата и управление персоналом).

Что такое флажок в 1С и какой тип данных за ним стоит

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

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

Способ 1. Дополнительный реквизит в типовой конфигурации без конфигуратора

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

Откройте раздел «Администрирование» → «Общие настройки» и включите опцию «Дополнительные реквизиты и сведения». Затем перейдите по ссылке «Дополнительные реквизиты», выберите нужный вид объектов (например, «Контрагенты» или «Номенклатура») и создайте новый реквизит. В поле «Тип значения» укажите «Булево» — после сохранения на форме элемента появится флажок.

Новый реквизит появится на форме в группе «Дополнительные реквизиты» или на отдельной закладке «Дополнительно» — расположение зависит от конфигурации. Значение можно выводить в списки и использовать в отборах, а в отчётах СКД дополнительный реквизит доступен через настройки полей.

Добавление флажка без конфигуратора
  1. 1
    Администрирование → Общие настройки → включить «Дополнительные реквизиты и сведения»
  2. 2
    Открыть «Дополнительные реквизиты» и выбрать вид объекта
  3. 3
    Создать реквизит, указать имя и тип значения «Булево»
  4. 4
    Записать, открыть элемент справочника и проверить наличие флажка
  5. 5
    Проверить вывод значения в списке и отборе

Способ 2. Реквизит типа Булево в конфигураторе

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

В палитре свойств задайте имя латиницей без пробелов (например, НеИспользоватьВОтчетах) и синоним — именно его увидит пользователь (например, «Не использовать в отчётах»). В свойстве «Тип» выберите «Булево». Для документов дополнительно проверьте, нужно ли включать реквизит в движения и в нумерацию — для простого признака это обычно не требуется.

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

1c
// Пример использования в модуле объекта
Если НеИспользоватьВОтчетах Тогда
    // пропускаем объект при формировании отчёта
КонецЕсли;

Способ 3. Флажок через расширение конфигурации

Если конфигурация типовая и находится на поддержке, но стандартных дополнительных реквизитов недостаточно (например, нужна своя логика проверки или вывод в нестандартном месте формы), используйте расширение. Расширение позволяет добавить собственный реквизит в объект, не изменяя основную конфигурацию.

В конфигураторе откройте «Конфигурация» → «Расширения конфигурации», создайте новое расширение, заимствуйте нужный объект и добавьте в него реквизит с типом «Булево» так же, как в основной конфигурации. Затем заимствуйте форму объекта и разместите на ней элемент флажка, связанный с новым реквизитом.

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

Флажок на форме без сохранения в базе

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

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

Сравнение вариантов

Дополнительный реквизит

Быстро и без доработок, но хранится в служебном регистре; слабее подходит для сложной логики и прямых запросов

Реквизит в конфигураторе

Полноценное поле объекта, доступно в запросах и индексах; требует снятия с поддержки и реструктуризации

Расширение

Доработка без снятия с поддержки; данные теряются при отключении расширения, есть ограничения на типы заимствуемых объектов

Реквизит формы

Только для управления интерфейсом; значение не сохраняется в базе

Проверка результата и типичные ошибки

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

Наиболее частая ошибка — реквизит добавлен в объект, но забыли разместить его на форме: пользователь флажка не видит. Вторая типичная ситуация — реквизит добавлен, но конфигурация базы данных не обновлена, и при записи объекта возникает ошибка о несоответствии структуры. Третья — в типовой конфигурации реквизит добавлен напрямую, после чего обновление на новый релиз становится конфликтным.

Типичные ошибки
01
Реквизит создан, но не выведен на форму — пользователь не видит флажок
02
Забыли обновить конфигурацию БД (F7) — ошибки при записи объектов
03
Прямая доработка типовой конфигурации вместо расширения — конфликты при обновлении релиза
04
Использование дополнительного реквизита там, где нужны запросы и индексы — медленные отборы
05
Отключение расширения без копии — потеря значений реквизитов расширения
Контрольные точки

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

Флажок на форме объекта
Норма

Виден, устанавливается, значение сохраняется после записи и переоткрытия

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

Флажка нет или значение сбрасывается после закрытия

Доступность в запросе
Норма

Поле выбирается в консоли запросов и фильтрует данные

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

Поля нет в списке доступных — реквизит не в объекте или БД не обновлена

Отбор в списке
Норма

Реквизит доступен в настройке отбора/сортировки

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

Поля нет — для доп. реквизита проверьте включённость механизма

FAQ по полю флажка в 1С

Можно ли сделать флажок обязательным для заполнения?

Для булева типа проверка заполнения бессмысленна: значение Ложь — тоже заполненное состояние. Если нужно заставить пользователя осознанно выбрать «да» или «нет», используйте переключатель с обязательным выбором или строковый реквизит с проверкой заполнения.

Как установить флажок по умолчанию в положение «Истина»?

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

Почему дополнительный реквизит не виден в отчёте?

В отчётах на СКД дополнительные реквизиты нужно добавить в настройках: «Настройки» → вкладка «Поля» или «Отбор» → кнопка выбора поля — дополнительные реквизиты находятся в отдельной группе. Если их там нет, проверьте, что реквизит привязан именно к тому виду объектов, по которому строится отчёт.

Чем флажок отличается от переключателя в 1С?

Флажок — один реквизит Булево с двумя состояниями. Переключатель (RadioButton) — группа элементов, где выбранное значение записывается в один реквизит числового или строкового типа. Переключатель подходит, когда вариантов больше двух или важно явно показать оба варианта выбора.

Можно ли массово установить флажок у многих элементов?

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

Исчезнут ли значения флажков при обновлении конфигурации?

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

Итог

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

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