Как переносить строки в заголовке колонки таблицы в 1С

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

При работе с табличными частями, динамическими списками и таблицами значений в 1С часто возникает необходимость уместить длинное название колонки (например, «Розничная цена») в ограниченное пространство по ширине. Если оставить заголовок в одну строку, колонка получается слишком широкой, а данные в ней занимают лишь небольшую часть пространства.

Разберем по шагам, как настроить отображение заголовка колонки в несколько строк в управляемых формах 1С:Предприятие 8.3.

Почему перенос строки может не работать

Проанализируем основные причины, по которым платформенно заголовок не переносится на новую строку:

  1. Высота шапки таблицы ограничена: По умолчанию свойство ВысотаШапки таблицы может быть равно 1. В этом случае платформа физически блокирует вывод текста в несколько строк, даже если в тексте присутствуют символы перевода строки.
  2. Автоматическая ширина колонки: Платформа рассчитывает ширину исходя из полной длины наименования колонки. Чтобы активировать перенос по словам, необходимо ограничить максимальную ширину элемента.

Способ 1. Интерактивная настройка в конфигураторе

Рассмотрим, как настроить многострочный заголовок без написания кода, используя свойства элементов формы:

  1. Выделим элемент формы, представляющий собой **таблицу** (табличную часть или динамический список). В палитре свойств находим параметр ВысотаШапки и устанавливаем значение 2 или больше (либо 0 для автоматического расчета высоты).
  2. Перейдем к свойствам конкретной **колонки**. В поле ввода свойства Заголовок введем текст, используя комбинацию клавиш Shift + Enter в месте, где требуется сделать разрыв строки.
  3. Для принудительного переноса по словам зададим ограничение ширины: снимем флаг АвтоМаксимальнаяШирина, укажем значение в свойстве Ширина и отключим параметр РастягиватьПоГоризонтали.

Способ 2. Программный перенос строк в коде 1С

Посмотрим на пример, как задать многострочный заголовок колонки динамически из кода формы. Для вставки символа перевода строки используется системная константа Символы.ПС.

Разберем пример кода при открытии формы:


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    // Увеличиваем высоту шапки всей таблицы
    Элементы.Товары.ВысотаШапки = 2;
    
    // Задаем заголовок с переносом строки
    Элементы.ТоварыРозничнаяЦена.Заголовок = "Розничная" + Символы.ПС + "цена";
    
КонецПроцедуры

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

Альтернативные варианты оформления

Если текст заголовка слишком длинный, рассмотрим еще два удобных решения:

  1. Использование групп колонок: Разместим колонку внутри элемента с видом Группа колонок. Это позволяет сформировать иерархическую шапку (например, в заголовке группы указать «Цены», а в колонках — «Розничная» и «Оптовая»).
  2. Использование подсказок: Сократим текст заголовка (например, «Розн. цена»), а полное наименование укажем в свойстве ПодсказкаВШапке. Пользователь увидит полный текст при наведении курсора на заголовок колонки.
← На главную