Как сделать вертикальное расположение текста в названиях колонок в СКД?

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

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

Способ 1. Настройка через условное оформление в СКД

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

  1. Откроем схему компоновки данных и перейдем на вкладку «Настройки». Выделим корневой элемент отчета или конкретную группировку (таблицу), в которой требуется изменить отображение.
  2. Перейдем на вкладку «Условное оформление» и добавим новый элемент оформления.
  3. В окне выбора параметров оформления найдем свойство Ориентация текста, установим напротив него флаг и укажем требуемый угол поворота:

    90 — текст ориентирован вертикально снизу вверх;

    270 — текст ориентирован вертикально сверху вниз.

    Дополнительно для визуальной аккуратности можно настроить свойства Горизонтальное положение (значение По центру) и Вертикальное положение (значение По центру).

  4. На вкладке «Оформляемые поля» добавим поля, заголовки которых требуется повернуть. Если список оставить пустым, оформление применится ко всем колонкам отчета.
  5. Перейдем к ключевому шагу: в колонке или секции «Использование» (область действия оформления) снимем флаги «В строках» и «В итогах», оставив включенным только флаг «В заголовке». Если этого не сделать, текст повернется внутри всех строк таблицы с данными.

Способ 2. Использование пользовательских макетов СКД

Если в отчете требуется сложная многоуровневая шапка или жестко фиксированная высота заголовков, проанализируем настройку через вкладку «Макеты».

  1. В схеме компоновки данных перейдем на вкладку «Макеты».
  2. Нажмем кнопку добавления и выберем «Добавить макет поля» с типом макета «Заголовок» (либо «Добавить макет заголовка группировки», если настраивается заголовок таблицы).
  3. Выделим область ячеек, которая будет отвечать за отображение шапки, и объединим их при необходимости.
  4. В палитре свойств выделенной ячейки табличного документа найдем свойство Ориентация текста и зададим угол 90 или 270 градусов.
  5. Вручную отрегулируем высоту строки макета шапки, так как стандартный генератор макета СКД при вертикальной ориентации может не всегда точно рассчитать автоподбор высоты, что приведет к обрезанию длинного текста.

Способ 3. Программная установка ориентации текста заголовков

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


ЭлементОформления = КомпоновщикНастроек.Настройки.УсловноеОформление.Элементы.Добавить();

// Устанавливаем угол поворота текста
ЗначениеПараметра = ЭлементОформления.Оформление.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ОриентацияТекста"));
Если ЗначениеПараметра <> Неопределено Тогда
    ЗначениеПараметра.Значение = 90;
    ЗначениеПараметра.Использование = Истина;
КонецЕсли;

// Ограничиваем область действия только заголовками
ЭлементОформления.Использование = Истина;
ЭлементОформления.ИспользоватьВЗаголовке = Истина;
ЭлементОформления.ИспользоватьВСтроках = Ложь;
ЭлементОформления.ИспользоватьВОбщихИтогах = Ложь;

// Добавляем оформляемое поле при необходимости
ОформляемоеПоле = ЭлементОформления.Поля.Элементы.Добавить();
ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("Количество");
ОформляемоеПоле.Использование = Истина;

Особенности экспорта и подбора ширины колонок

Выясним важные нюансы, которые необходимо учитывать при работе с повернутыми заголовками:

  1. Экспорт в сторонние форматы (XLS / XLSX): При сохранении табличного документа в форматы электронных таблиц свойство угла поворота ячеек переносится корректно. Однако из-за различий в шрифтовом рендеринге текст может визуально накладываться на сетку таблицы.
  2. Фиксация габаритов колонок: Чтобы избежать сжатия заголовков, рекомендуется на вкладке «Другие настройки» или в свойствах выбранных полей явно задавать параметры Минимальная ширина и Максимальная ширина для колонок с вертикальным текстом.
← На главную