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