При разработке интерфейсов на управляемых формах 1С:Предприятие 8.3 часто возникает ситуация, когда колонка табличной части, содержащая простой признак (булево значение или «флажок»), занимает слишком много места по горизонтали. Основная причина — длинное название заголовка, которое платформа пытается уместить в одну строку. Стандартное изменение ширины колонки в конфигураторе не всегда дает желаемый результат, так как текст заголовка просто обрезается или игнорируется. В этой статье мы подробно разберем, как добиться переноса текста в шапке и сделать форму более компактной.
Рассмотрим самый простой метод, который заключается в изменении параметров отображения всей таблицы. Важно понимать, что свойство «Высота шапки» применяется ко всей таблице сразу, поэтому нам нужно действовать аккуратно, чтобы не испортить внешний вид остальных колонок.
Выполним следующие шаги:
ВысотаШапки. Установим значение равным 2 (или более, если требуется больше строк).Поле).Заголовок введем текст, используя сочетание клавиш Shift + Enter в тех местах, где требуется разрыв строки.ГоризонтальноеПоложениеВШапке в значение Центр.Проанализируем возможную проблему: при увеличении высоты шапки у других колонок, где заголовок короткий, может появиться пустое пространство снизу. Чтобы этого избежать, во всех остальных колонках рекомендуется установить ВертикальноеПоложениеВШапке в значение Центр. Это визуально выровняет текст по середине доступной высоты.
Бывают случаи, когда визуальный редактор конфигуратора некорректно сохраняет символы переноса строки, особенно для специфических типов полей, таких как Поле флажка. Разберем, как принудительно задать многострочный текст программно.
Воспользуемся серверной процедурой ПриСозданииНаСервере. Посмотрим на пример кода:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// Укажем имя вашей колонки
ИмяЭлемента = "ТЧ_ПризнакОплаты";
// Устанавливаем заголовок с использованием системного символа переноса строки
Элементы[ИмяЭлемента].Заголовок = "Признак" + Символы.ПС + "оплаты";
// Убедимся, что высота шапки таблицы позволяет отобразить две строки
Элементы.ИмяВашейТаблицы.ВысотаШапки = 2;
КонецПроцедуры
Этот метод более надежен, так как символ Символы.ПС (перевод строки) гарантированно интерпретируется платформой как команда к переносу текста, если установлена достаточная высота шапки.
Выясним причину, по которой колонка отказывается сужаться даже после настройки переноса. В управляемых формах за это отвечают свойства адаптивности. Если у колонки включено автоматическое определение ширины, она будет ориентироваться на максимальную длину слова в заголовке.
Попробуем следующую комбинацию настроек для колонки:
АвтоМаксимальнаяШирина в значение Ложь.РастягиватьПоГоризонтали в значение Ложь (если это Поле ввода, для Поля флажка данная настройка может быть недоступна напрямую).Ширина укажем конкретное числовое значение (например, 3 или 4).Если колонка является Полем флажка, платформа может блокировать жесткое задание ширины. В этом случае полезно обернуть колонку в Группу колонок с видом Без группировки и настраивать ширину уже у самой группы.
Рассмотрим ситуацию, когда форма перегружена данными и даже две строки заголовка не спасают положение. В типовых конфигурациях (например, в ERP или УТ 11) для узких колонок с флажками часто используют картинки в заголовке.
Посмотрим, как это реализовать:
КартинкаШапки.БиблиотекаКартинок.Флажок или Статус).Заголовок в таком случае можно оставить пустым или поставить в нем точку/краткую аббревиатуру.Подсказка. При наведении мышки на иконку в шапке пользователь увидит полное описание.Проанализируем техническое ограничение: объект Поле флажка имеет меньше оформительских свойств, чем Поле ввода. Если нам критически важно управлять оформлением, мы можем пойти на хитрость.
Рассмотрим пошагово:
Вид элемента формы с Поле флажка на Поле ввода.Булево.КнопкаВыбора установим Нет, а в свойстве РежимРедактирования выберем Вход в ячейку.Теперь у нас появились свойства МногострочныйРежим и более гибкое управление шириной. Платформа все равно будет отображать булево значение как флажок (или текст "Да/Нет" в зависимости от настроек), но позволит нам более детально настроить заголовок.
Выбор конкретного решения зависит от того, насколько жестко утвержден дизайн формы. Если добавление пустых строк в соседних колонках недопустимо, наиболее эффективным будет использование программной установки заголовка (Способ 2) в сочетании с группировкой колонок (Способ 3). Если же ваша цель — максимальная эргономика, рассмотрите вариант с картинкой в шапке (Способ 4), так как это освобождает значительное пространство на экране, не заставляя увеличивать общую высоту шапки всей таблицы.