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