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