Как сделать название колонки в табличной части в две строки в 1С?

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

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

Причина проблемы: почему перенос строки не работает по умолчанию

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

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

  1. Увеличить высоту шапки всей таблицы до нужного количества строк.
  2. Задать перенос текста в заголовке конкретной колонки (в конфигураторе или программно).

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

Рассмотрим порядок настройки через редактор формы в среде «1С:Предприятие»:

  1. Откроем форму документа или справочника в Конфигураторе.
  2. Выделим корневой элемент таблицы (саму табличную часть на форме, а не отдельную колонку).
  3. В окне свойств таблицы найдем параметр ВысотаШапки (в управляемых формах он находится в группе свойств «Расположение» / «Отображение шапки»). Установим значение 2 (или более, в зависимости от требуемого числа строк).
  4. Перейдем к свойствам нужной колонки таблицы и найдем свойство Заголовок.
  5. Чтобы перенести текст на новую строку непосредственно в поле ввода свойства, нажмем комбинацию клавиш Shift + Enter. Обычное нажатие клавиши Enter сохраняет введенное значение и завершает редактирование, тогда как Shift + Enter вставляет символ перевода строки.

Способ 2. Программная установка переноса строки в управляемых формах

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

Обратите внимание: обращение к элементам формы в управляемом интерфейсе всегда выполняется через коллекцию Элементы. Символ переноса строки задается системным перечислением Символы.ПС.

Пример кода в процедуре ПриСозданииНаСервере:


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

Способ 3. Автоматический перенос текста по словам

Разберем еще один удобный механизм управляемых форм. Если для таблицы задано свойство ВысотаШапки = 2, а в названии колонки присутствуют пробелы или дефисы, платформа умеет автоматически переносить слова при недостатке ширины.

Для активации автоматического переноса достаточно:

  1. Установить у таблицы свойство ВысотаШапки больше 1.
  2. Для колонки задать фиксированное значение свойств Ширина или МаксимальнаяШирина, при котором длинный заголовок не помещается в одну строку.

Важное ограничение: если название колонки представляет собой одно длинное сплошное слово без разделителей, автоматический перенос платформой не выполняется. В таком случае требуется только явная вставка Символы.ПС (или Shift + Enter в Конфигураторе).

Альтернативные варианты компоновки колонок

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

  1. Группировка колонок: создадим на форме элемент ГруппаКолонок, установим для нее вид отображения В шапке и поместим связанные колонки внутрь. Это позволит создать общий верхний заголовок группы (например, «Выручка») и короткие заголовки внизу («Нал», «Безнал»).
  2. Использование всплывающих подсказок: оставим заголовок колонки коротким или сокращенным («Выручка б/н»), а полное развернутое описание укажем в свойстве колонки Подсказка. Текст подсказки будет отображаться пользователю при наведении курсора мыши.
← На главную