Как в отчете СКД вывести флажок или галочку вместо 'Да' и 'Нет'?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

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

Способ 1: Условное оформление с использованием символов

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

Вариант 1.1: Специальная форматная строка

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

  1. Перейдите на вкладку «Настройки» в отчете СКД, выберите нужный вариант и откройте расширенные настройки (кнопка «Настройки...» -> вид «Расширенный»).
  2. Найдите вкладку «Условное оформление» и добавьте новый элемент.
  3. На вкладке «Оформление» нажмите «Добавить» и выберите в качестве оформления параметр «Формат».
  4. В поле значения для формата укажите следующую строку: БЛ=; БИ=✓
  5. На вкладке «Оформляемые поля» укажите ваше поле с типом «Булево».
  6. На вкладке «Условие» можно задать условие, если форматирование нужно не для всех строк, или оставить его пустым для применения ко всему полю.

Что означает эта строка?

Этот метод хорош тем, что он управляет именно представлением данных, не затрагивая их тип.

Вариант 1.2: Замена текста по условию

Альтернативный, чуть менее изящный, но тоже рабочий вариант — создать два правила условного оформления.

  1. Правило для «Истина»:
    • Условие: ВашеПолеБулево = Истина
    • Оформление: Установите параметр «Текст» в значение "✓". Можно также задать цвет текста, например, зеленый.
    • Оформляемые поля: Укажите ВашеПолеБулево.
  2. Правило для «Ложь»:
    • Условие: ВашеПолеБулево = Ложь
    • Оформление: Установите параметр «Текст» в пустое значение ("").
    • Оформляемые поля: Укажите ВашеПолеБулево.

Как было подмечено на форуме, вместо копирования символа можно использовать специальные шрифты, например, Marlett. В этом шрифте символ "b" отображается как галочка. Однако этот способ менее надежен, так как требует наличия данного шрифта на компьютере пользователя.

Способ 2: Вычисляемое поле

Этот метод считается очень элегантным, поскольку вся логика представления переносится на уровень набора данных, а не оформления — для этого подойдёт аналитический отчет с удобным выводом данных в СКД. Отчет становится более самодостаточным.

Разберем по шагам, как это сделать:

  1. В схеме компоновки данных перейдите на вкладку «Вычисляемые поля».
  2. Добавьте новое поле. Задайте ему понятное имя, например, «ФлажокПредставление».
  3. В поле «Выражение» напишите конструкцию ВЫБОР-КОГДА:
    
    ВЫБОР
        КОГДА ВашеПолеБулево
            ТОГДА "✓"
        ИНАЧЕ ""
    КОНЕЦ
    
  4. Нажмите «ОК». Теперь у вас есть новое поле, которое содержит либо галочку, либо пустую строку.
  5. Перейдите на вкладку «Настройки». В структуре отчета (в разделе «Выбранные поля») удалите исходное булево поле и добавьте на его место ваше новое вычисляемое поле «ФлажокПредставление».

Теперь отчет будет использовать для вывода именно это поле, и никаких дополнительных настроек оформления не потребуется. Это особенно удобно, если логика представления сложнее, чем просто «да/нет».

Способ 3: Отображение картинки через условное оформление

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

  1. Правило 1: Скрываем стандартный текст.
    • Условие: Оставляем пустым (будет применяться всегда).
    • Оформление: Добавляем параметр «Текст» и оставляем его значение пустым.
    • Оформляемые поля: Выбираем наше булево поле.
    • Область использования: Укажите, где применять оформление, например, «В группировке».
  2. Правило 2: Показываем картинку для значения «Истина».
    • Условие: ВашеПолеБулево = Истина.
    • Оформление: Добавляем параметр «Картинка». В качестве значения выбираем подходящую картинку из стандартной библиотеки (например, `Галочка`, `ЗеленаяГалочка`) или загружаем свою.
    • Оформляемые поля: То же самое булево поле.
    • Область использования: Та же, что и в первом правиле.

Почему нужно два правила? Первое правило гарантированно убирает текст «Да» и «Нет» из ячейки. Второе правило поверх этой «чистой» ячейки рисует картинку, но только там, где значение равно «Истина». Если использовать только второе правило, то рядом с картинкой останется текст «Да», что выглядит неаккуратно.

Важное уточнение: Поле отчета и параметр отчета — не одно и то же!

В обсуждении прозвучала мысль установить у поля свойство «Использование» в значение «Всегда». Это распространенная ошибка.

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

← На главную