Флажок в 1С 8.3: где и как его добавить — от настройки до кода

· 9 мин

Содержание

Чтобы создать галочку в 1С 8.3, нужен реквизит с типом Булево и элемент формы вида «Поле флажка». Без программиста это делается через дополнительный реквизит типа «Да/Нет» в разделе Администрирование → Общие настройки. Разработчик добавляет флажок в конфигураторе за минуту или создаёт его кодом в ПриСозданииНаСервере.

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

СпособКто делаетКогда подходитЧто важно знать
Дополнительный реквизит «Да/Нет»Пользователь с правами администратораПометка в карточке: «VIP-клиент», «Проверено»Конфигурация не меняется, обновления не страдают
Пользовательская настройка формыЛюбой пользовательПоказать скрытую галочку, отбор по готовому полюДобавить новый реквизит так нельзя
Конструктор формыРазработчикСвоя конфигурация или снятая с поддержкиВ типовой ломает обновление
Код в модуле формыРазработчикГалочка нужна по условию или в расширенииОбработчик события тоже создаётся кодом
Расширение конфигурацииРазработчикТиповая конфигурация на поддержкеПрефикс имён, проверка после обновлений
Параметр СКДРазработчик отчётаВключить или выключить условие отчётаНужна галочка «Включать в пользовательские настройки»

Если галочка нужна для учёта в одной типовой базе, начинайте с дополнительного реквизита. Он не требует конфигуратора и переживает любое обновление.

Галочка без программиста: дополнительный реквизит типа «Да/Нет»

В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) пользователь сам добавляет поле в карточку справочника или документа. Флажком оно становится, если выбрать тип значения «Булево» — в списке типов он подписан как «Булево» или «Да/Нет».

Порядок действий

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

Откройте любую карточку контрагента. Новая галочка будет в группе дополнительных реквизитов — обычно внизу формы или на отдельной вкладке.

Где пригодится

  • ✅ отметка «Документы получены» у договора;
  • 🏷️ признак «Работает по предоплате» у контрагента;
  • 📦 флажок «Хрупкий товар» у номенклатуры.

По такому реквизиту можно ставить отбор в списке и выводить его в отчёты на БСП: он доступен в настройках полей как отдельное поле.

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

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

Показать скрытую галочку в форме

Разработчики часто прячут редкие флажки. Вернуть их можно так:

  1. В форме нажмите Ещё → Изменить форму.
  2. В дереве элементов найдите нужное поле и поставьте рядом с ним галочку видимости.
  3. Стрелками переместите поле в удобное место и нажмите «ОК».

Настройка сохраняется для текущего пользователя. Если что-то пошло не так, в том же окне есть «Стандартные настройки».

Отбор по флажку в динамическом списке

  1. В списке нажмите Ещё → Настроить список.
  2. На вкладке «Отбор» добавьте булево поле, например «Пометка удаления».
  3. Укажите вид сравнения «Равно» и значение — снятый или установленный флажок.

Так скрывают помеченные на удаление элементы или показывают только неактивные договоры. Слева у каждой строки отбора есть своя галочка: снимите её, и условие отключится без удаления.

Галочки в настройках отчёта

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

Добавить флажок на форму в конфигураторе

Это базовый способ для своей конфигурации или формы обработки.

Галочка, которая хранится в объекте

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

Галочка только на форме

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

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

Свойства, которые меняют чаще всего

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

Реакцию на щелчок пишут в событии «ПриИзменении» элемента. Например, показать скрытую группу:

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

Ту же строку продублируйте в ПриСозданииНаСервере, иначе при открытии уже отмеченного объекта группа останется скрытой.

Программное создание галочки в модуле формы

Код нужен, когда флажок появляется по условию или добавляется в форму из расширения. Порядок всегда один: реквизит формы → элемент → обработчик.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

	НовыеРеквизиты = Новый Массив;
	НовыеРеквизиты.Добавить(Новый РеквизитФормы("ПоказыватьАрхив",
		Новый ОписаниеТипов("Булево"), , "Показывать архив"));
	ИзменитьРеквизиты(НовыеРеквизиты);

	Флажок = Элементы.Добавить("ПоказыватьАрхив", Тип("ПолеФормы"), ЭтотОбъект);
	Флажок.Вид = ВидПоляФормы.ПолеФлажка;
	Флажок.ПутьКДанным = "ПоказыватьАрхив";
	Флажок.ВидФлажка = ВидФлажка.Флажок;
	Флажок.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Право;
	Флажок.УстановитьДействие("ПриИзменении", "Подключаемый_ПоказыватьАрхивПриИзменении");

	ПоказыватьАрхив = Ложь;

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

&НаКлиенте
Процедура Подключаемый_ПоказыватьАрхивПриИзменении(Элемент)
	УстановитьОтборАрхива();
КонецПроцедуры

&НаСервере
Процедура УстановитьОтборАрхива()
	Список.Отбор.Элементы.Очистить();
	Если Не ПоказыватьАрхив Тогда
		ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
		ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Архивный");
		ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
		ЭлементОтбора.ПравоеЗначение = Ложь;
		ЭлементОтбора.Использование = Истина;
	КонецЕсли;
КонецПроцедуры

Пример рассчитан на форму списка с динамическим списком Список и булевым реквизитом Архивный. При открытии отбор не стоит — вызовите УстановитьОтборАрхива() в конце ПриСозданииНаСервере, если архив нужно скрывать сразу.

Список.Отбор.Элементы.Очистить() удаляет все отборы, поставленные кодом. Если в форме есть другие условия, ищите и меняйте только свой элемент. В конфигурациях на БСП для этого есть ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка.

Чтобы флажок попал в нужное место, третьим параметром Элементы.Добавить передают группу, а не саму форму. Чтобы поставить его перед конкретным элементом, используйте Элементы.Вставить.

Галочка в табличной части: колонка «Пометка» и массовая отметка

В табличной части флажок — это колонка с типом Булево. Добавьте реквизит табличной части, например Пометка, и перетащите его в таблицу формы. Колонка станет полем флажка.

Кнопки «Отметить все» и «Снять все»

&НаКлиенте
Процедура ОтметитьВсе(Команда)
	УстановитьПометку(Истина);
КонецПроцедуры

&НаКлиенте
Процедура СнятьВсе(Команда)
	УстановитьПометку(Ложь);
КонецПроцедуры

&НаКлиенте
Процедура УстановитьПометку(Значение)
	Для Каждого Строка Из Объект.Товары Цикл
		Строка.Пометка = Значение;
	КонецЦикла;
КонецПроцедуры

Создайте две команды формы, привяжите к ним процедуры и перетащите команды в командную панель таблицы.

Реакция на галочку в строке

Событие «ПриИзменении» вешается на поле колонки, а данные строки берут через Элементы.Товары.ТекущиеДанные. Например, пересчитать сумму только отмеченных строк:

&НаКлиенте
Процедура ТоварыПометкаПриИзменении(Элемент)
	ИтогОтмеченных = 0;
	Для Каждого Строка Из Объект.Товары Цикл
		Если Строка.Пометка Тогда
			ИтогОтмеченных = ИтогОтмеченных + Строка.Сумма;
		КонецЕсли;
	КонецЦикла;
КонецПроцедуры

ИтогОтмеченных здесь — числовой реквизит формы.

Особенности таблиц

  • 🔒 В динамическом списке галочку прямо в строке не изменить: список только читает данные. Меняйте значение командой, которая на сервере открывает объект и записывает его.
  • 🧾 Для обработок с выбором строк удобнее реквизит формы типа «Таблица значений» с колонкой Пометка: её не нужно хранить в базе.
  • 🖱️ Если у таблицы включено «Только просмотр», флажки не щёлкаются даже в редактируемой колонке.

Флажок в отчётах и СКД

Галочка-параметр в шапке отчёта

  1. В схеме компоновки на вкладке «Параметры» добавьте параметр ТолькоСДолгом с типом Булево.
  2. В запросе используйте его так, чтобы снятая галочка не ограничивала выборку:
ВЫБРАТЬ
	Взаиморасчеты.Контрагент,
	Взаиморасчеты.СуммаОстаток
ИЗ
	РегистрНакопления.Взаиморасчеты.Остатки КАК Взаиморасчеты
ГДЕ
	(&ТолькоСДолгом = ЛОЖЬ
		ИЛИ Взаиморасчеты.СуммаОстаток > 0)
  1. На вкладке «Настройки» откройте параметры, выделите ТолькоСДолгом и в свойствах элемента пользовательских настроек включите «Включать в пользовательские настройки».

Теперь на форме отчёта у пользователя будет флажок. Регистр в примере условный: подставьте свой.

Галочка вместо «Да/Нет» в ячейках

Булево поле СКД по умолчанию выводит «Да» или «Нет». Чтобы в ячейке была отметка, задайте полю формат на вкладке «Наборы данных» или в оформлении:

БЛ=; БИ=✓

БЛ — что показать для «Ложь», БИ — для «Истина». Пустое значение для «Ложь» делает таблицу чище: отмечены только нужные строки.

Признак, вычисленный запросом

Если готового булева поля нет, сделайте его в запросе:

ВЫБОР
	КОГДА Номенклатура.Вес > 30 ТОГДА ИСТИНА
	ИНАЧЕ ЛОЖЬ
КОНЕЦ КАК Тяжелый

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

Обработки и расширения: галочка в типовой без снятия с поддержки

Флажок через расширение

Это главный приём для Бухгалтерии, ЗУП и УТ на поддержке. Конфигурация не меняется, обновления ставятся как обычно.

  1. В конфигураторе откройте Конфигурация → Расширения конфигурации и создайте расширение.
  2. Заимствуйте нужный объект и его форму: правой кнопкой по объекту → «Добавить в расширение».
  3. Добавьте в заимствованный объект свой реквизит типа Булево с префиксом расширения, например Расш1_Проверен.
  4. Откройте заимствованную форму и перетащите реквизит на неё.
  5. Обновите конфигурацию базы данных и проверьте, что расширение подключено.

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

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

Массовая установка галочки

Ставить флажок в 500 карточках вручную не нужно. В списках конфигураций на БСП есть Ещё → Изменить выделенные: выделите строки, выберите реквизит, укажите значение и запустите. Работает и для дополнительных реквизитов.

Если нужна выборка по сложному условию, пишут внешнюю обработку : таблица значений с колонкой Пометка, кнопки «Отметить все» из раздела про табличную часть и команда, которая на сервере записывает отмеченные объекты.

Почему галочка не работает: типичные проблемы

Диагностика: выберите симптом

Частые вопросы

Можно ли сделать флажок с тремя состояниями?
Булево хранит только «Истина» и «Ложь». Если нужно третье состояние «не заполнено», используйте числовой реквизит или перечисление и выводите его переключателем.
Чем «Выключатель» отличается от обычного флажка?
Только внешним видом: тумблер вместо квадратика. Тип данных и события те же, менять код не нужно.
Как поставить галочку по умолчанию в новом документе?
Задайте значение в ПриСозданииНаСервере при условии, что объект новый, или в обработчике заполнения объекта. Свойство «Значение заполнения» реквизита тоже работает.
Как найти все объекты с установленной галочкой?
Поставьте отбор в списке через Ещё → Настроить список или выполните запрос с условием ГДЕ Таблица.Реквизит = ИСТИНА в консоли запросов.
Видят ли другие пользователи флажок, добавленный через «Изменить форму»?
Нет. Это личная настройка. Чтобы галочку видели все, форму меняют в конфигураторе или расширении.