При работе с отчетами на Системе Компоновки Данных (СКД) (поможет набор инструментов разработчика с консолью СКД) часто возникает задача улучшить визуальное представление данных. Стандартный вывод булевых полей в виде текста «Да» или «Нет» не всегда удобен и нагляден. Гораздо информативнее и компактнее смотрится графический флажок или галочка. Разберем несколько надежных способов, как этого добиться.
Проанализируем по шагам, как настроить отчет, чтобы вместо скучного текста в ячейках появлялись интуитивно понятные символы — задачу решает инструмент настройки визуального оформления данных и QR-кодов.
Это самый простой и быстрый метод, который не требует изменения запроса или макета отчета. Вся настройка выполняется на вкладке «Условное оформление» в настройках варианта отчета. У него есть два варианта реализации.
Это наиболее правильный и гибкий подход. Платформа 1С предоставляет специальный формат для булевых значений, который позволяет задать отдельное представление для «Истина» и «Ложь».
БЛ=; БИ=✓Что означает эта строка?
БЛ= (Булево Ложь) — задает представление для значения «Ложь». В нашем примере после знака равенства ничего нет, поэтому ячейка будет пустой.; — разделитель.БИ=✓ (Булево Истина) — задает представление для значения «Истина». Мы указываем символ галочки. Вы можете просто скопировать этот символ (✓ или ✔) и вставить в поле.Этот метод хорош тем, что он управляет именно представлением данных, не затрагивая их тип.
Альтернативный, чуть менее изящный, но тоже рабочий вариант — создать два правила условного оформления.
ВашеПолеБулево = ИстинаВашеПолеБулево.ВашеПолеБулево = ЛожьВашеПолеБулево.Как было подмечено на форуме, вместо копирования символа можно использовать специальные шрифты, например, Marlett. В этом шрифте символ "b" отображается как галочка. Однако этот способ менее надежен, так как требует наличия данного шрифта на компьютере пользователя.
Этот метод считается очень элегантным, поскольку вся логика представления переносится на уровень набора данных, а не оформления — для этого подойдёт аналитический отчет с удобным выводом данных в СКД. Отчет становится более самодостаточным.
Разберем по шагам, как это сделать:
ВЫБОР-КОГДА:
ВЫБОР
КОГДА ВашеПолеБулево
ТОГДА "✓"
ИНАЧЕ ""
КОНЕЦ
Теперь отчет будет использовать для вывода именно это поле, и никаких дополнительных настроек оформления не потребуется. Это особенно удобно, если логика представления сложнее, чем просто «да/нет».
Если вам нужен не просто символ, а полноценная иконка флажка из библиотеки стилей 1С, этот способ подойдет идеально — для подобных задач есть обработка добавления графики и штрихкодов в таблицы. Здесь ключевой момент — правильно настроить два правила оформления, чтобы они работали в паре.
ВашеПолеБулево = Истина.Почему нужно два правила? Первое правило гарантированно убирает текст «Да» и «Нет» из ячейки. Второе правило поверх этой «чистой» ячейки рисует картинку, но только там, где значение равно «Истина». Если использовать только второе правило, то рядом с картинкой останется текст «Да», что выглядит неаккуратно.
В обсуждении прозвучала мысль установить у поля свойство «Использование» в значение «Всегда». Это распространенная ошибка.
Данная настройка относится к параметрам отчета, которые пользователь видит на форме настроек (например, для отборов). Если для параметра с типом «Булево» установить использование «Всегда», то на форме он действительно превратится в удобный флажок для включения/выключения отбора. Однако эта настройка никак не влияет на отображение полей внутри уже сформированной таблицы отчета. Для форматирования ячеек в результате работы отчета используйте методы, описанные выше.