Цель данной публикации зафиксировать способы получения в отчёте СКД функционала, описанного выше, поскольку такой функционал бывает нечасто нужен и со временем забывается, что и где в СКД нужно подкрутить, чтобы получить необходимый результат, в результате поиск решения рождает порой весьма экзотические решения, которые описаны в вариантах, следующих за нулевым.
Нулевой вариант.
Данный вариант самый простой в реализации, и я о нём узнал в ходе обсуждения первой версии данной публикации в комментариях. Там же было замечено, что на платформе 8.5 в настоящий момент он не работает.
В таблице настройки отборов необходимо ввести любой текст в колонку "Представление", как показано на скриншоте ниже:

Получаем вот такой результат на форме отчёта:

Первый вариант.
Необходимо изменить тип данных колонки отчёта с булево на множественный и изменить её логику заполнения, чтобы вместо "Истина" / "Ложь", было "Истина" / "Неопределено" тогда в СКД можно будет использовать вид сравнения отбора "Заполнено":

Если отчёт по таблице значений, то тип значения колонки необходимо определить следующим кодом:
МассивТипов = Новый Массив();
МассивТипов.Добавить(Тип("NULL"));
МассивТипов.Добавить(Тип("Булево"));
тзДанныеОтчёта = Новый ТаблицаЗначений();
тзДанныеОтчёта.Колонки.Добавить("ЕстьПереплаты", Новый ОписаниеТипов(МассивТипов));
Получаем вот такой результат на форме отчёта:

Второй вариант.
В этом варианте тип данных колонки отчёта и логика её заполнения остаётся без изменений, то есть только "булево" (Истина/Ложь).
Для реализации используется механизм событий модуля объекта отчёта, использующего общую форму отчёта из БСП.
В модуле объекта отчёта необходимо создать ряд процедур, которые логика общей формы отчёта вызовет автоматически, а именно:
1) В событии "ОпределитьНастройкиФормы", сконфигурировать форму отчёта на вызов события "ПослеЗаполненияПанелиБыстрыхНастроек".
2) В обработчике события "ПослеЗаполненияПанелиБыстрыхНастроек" реализовать вызов процедуры, которая скроет поля ввода у отборов по колонкам отчёта типа булево.
Важно, обязательно в настройках колонок отчёта СКД необходимо задать колонке отбора тип булево!

Конфигурация отборов СКД:

В модуль объекта отчёта необходимо добавить следующий код:
Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт
Настройки.События.ПослеЗаполненияПанелиБыстрыхНастроек = Истина;
КонецПроцедуры // ОпределитьНастройкиФормы
Процедура ПослеЗаполненияПанелиБыстрыхНастроек(Форма, ПараметрыЗаполнения) Экспорт
МодифицироватьЭлементыБулевыхОтборов(Форма);
КонецПроцедуры // ПослеЗаполненияПанелиБыстрыхНастроек
Процедура МодифицироватьЭлементыБулевыхОтборов(Форма)
Перем ЭлементыФормы, Элем, ОписаниеТипа_Булево,
ДоступныеТипы, ЭлемФлажок;
ЭлементыФормы = Форма.Элементы;
ОписаниеТипа_Булево = Новый ОписаниеТипов("Булево");
Для Каждого Элем Из ЭлементыФормы Цикл
Если ТипЗнч(Элем) <> Тип("ПолеФормы") Тогда
Продолжить;
КонецЕсли;
Если Элем.Вид = ВидПоляФормы.ПолеФлажка Тогда
ЭлемФлажок = Элем;
Продолжить;
КонецЕсли;
Попытка
ДоступныеТипы = Элем.ДоступныеТипы;
Исключение
Продолжить;
КонецПопытки;
Если ДоступныеТипы = ОписаниеТипа_Булево Тогда
Элем.Видимость = Ложь;
ЭлементыФормы.Переместить(ЭлемФлажок, Элем.Родитель, Элем);
ЭлемФлажок.Заголовок = Сред(ЭлемФлажок.Заголовок, 1, СтрДлина(ЭлемФлажок.Заголовок) - 1);
ЭлемФлажок.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Право;
ЭлемФлажок.ГоризонтальноеПоложениеВГруппе = ГоризонтальноеПоложениеЭлемента.Лево;
КонецЕсли;
КонецЦикла;
КонецПроцедуры // МодифицироватьЭлементыБулевыхОтборов
Получаем вот такой результат на форме отчёта:

Третий вариант.
В этом варианте тип данных колонки отчёта и логика её заполнения остаётся без изменений, то есть только "булево" (Истина/Ложь).
Реализация осуществляется при помощи дополнительных (виртуальных) отборов. В СКД добавляется ещё один набор данных "ВиртуальныеОтборы", никак не связанный с основным набором данных, в этот набор добавляются поля виртуальных отборов. В начало процедуры "ПриКомпоновкеРезультата", добавляется вызов процедуры "УстановитьОтборыПоВиртуальнымОтборам", в которой анализируется использование виртуальных отборов и по результатам анализа применяются реальные отборы по колонкам отчёта, типа булево, которые скрыты от глаз пользователя (исключены из настроек пользователя и сделаны недоступными).
Настройки СКД для третьего варианта имеют вот такой вид:

Виртуальный набор включён в параметры пользователя:

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

Ниже приведён листинг процедуры "УстановитьОтборыПоВиртуальнымОтборам" и вызываемых ей процедур:
Процедура УстановитьОтборыПоВиртуальнымОтборам()
Если УстановленПользовательскийОтборСКД("ЕстьПереплатыВО") Тогда
ИспользоватьОтборСКД("ЕстьПереплаты", Истина);
Иначе
ИспользоватьОтборСКД("ЕстьПереплаты", Ложь);
КонецЕсли;
Если УстановленПользовательскийОтборСКД("ЕстьПоступленияВО") Тогда
ИспользоватьОтборСКД("ЕстьПоступления", Истина);
Иначе
ИспользоватьОтборСКД("ЕстьПоступления", Ложь);
КонецЕсли;
КонецПроцедуры // УстановитьОтборыПоВиртуальнымОтборам
Функция УстановленПользовательскийОтборСКД(ИмяОтбора)
Перем ПолеКД, Элем, ЭлементОтбора, Настройки,
ПользовательскиеНастройки, ПользовательскийОтбор;
Настройки = ЭтотОбъект.КомпоновщикНастроек.Настройки;
ПолеКД = Новый ПолеКомпоновкиДанных(ИмяОтбора);
Для Каждого Элем Из Настройки.Отбор.Элементы Цикл
Если Элем.ЛевоеЗначение = ПолеКД Тогда
ЭлементОтбора = Элем;
Прервать;
КонецЕсли;
КонецЦикла;
Если ЭлементОтбора = Неопределено Тогда
Возврат Ложь;
КонецЕсли;
Если ЗначениеЗаполнено(ЭлементОтбора.ИдентификаторПользовательскойНастройки) Тогда
ПользовательскиеНастройки = КомпоновщикНастроек.ПользовательскиеНастройки;
ПользовательскийОтбор = ПользовательскиеНастройки.Элементы.Найти(ЭлементОтбора.ИдентификаторПользовательскойНастройки);
Если ПользовательскийОтбор <> Неопределено Тогда
Возврат ПользовательскийОтбор.Использование;
КонецЕсли;
КонецЕсли;
Возврат Ложь;
КонецФункции // УстановленПользовательскийОтборСКД
Процедура ИспользоватьОтборСКД(ИмяОтбора, Использование)
Перем Настройки, ПолеКД, Элем, ЭлементОтбора;
Настройки = ЭтотОбъект.КомпоновщикНастроек.Настройки;
ПолеКД = Новый ПолеКомпоновкиДанных(ИмяОтбора);
Для Каждого Элем Из Настройки.Отбор.Элементы Цикл
Если Элем.ЛевоеЗначение = ПолеКД Тогда
ЭлементОтбора = Элем;
ЭлементОтбора.Использование = Использование;
Возврат;
КонецЕсли;
КонецЦикла;
КонецПроцедуры // ИспользоватьОтборСКД
Вероятно, что существуют и другие способы достижения аналогичного результата на панели отборов отчёта. Данная публикация не претендует на полное изложение всех способов, которыми возможно получить подобный результат.
Код тестировался на платформе 1С 8.3.27.1936, конфигурация 1С: БП 3.0.175.24.
Вступайте в нашу телеграмм-группу Инфостарт