При разработке интерфейсов на управляемых формах в платформе 1С:Предприятие 8.3 (особенно в интерфейсе «Такси») разработчики часто сталкиваются с ситуацией, когда между текстом заголовка и полем ввода образуется слишком большой пустой промежуток. По умолчанию механизм авторазмещения элементов стремится выровнять поля и надписи по единой вертикальной сетке. Если в одной группе или на форме есть хотя бы одно поле с длинным заголовком, ширина колонки заголовков автоматически увеличивается для всех остальных элементов.
Разберем по шагам, какие штатные свойства формы и групп элементов позволяют управлять этим поведением и расположить заголовки непосредственно рядом с окнами ввода.
Основным инструментом управления сеткой на уровне группы элементов является свойство ВыравниваниеЭлементовИЗаголовков (AlignItemsAndTitles). Проанализируем, как оно влияет на отображение:
ВыравниваниеЭлементовИЗаголовков.ВКолонку (или Авто, которое в большинстве случаев работает как колонка). При таком значении платформа резервирует под заголовки единую ширину, равную самому длинному заголовку в группе.НеВыравнивать. В этом режиме поле ввода прижимается непосредственно к своему заголовку без учета длины надписей у соседних реквизитов.Если элементы распределены по нескольким подгруппам, платформа может продолжать выравнивать их колонки по общей вертикали из-за включенного механизма сквозного выравнивания. Выясним причину такого поведения и устраним её:
СквозноеВыравнивание (ThroughAlign).НеИспользовать.После отключения сквозного выравнивания дочерние группы перестают зависеть друг от друга по ширине колонок заголовков, что исключает появление пустых интервалов между короткими заголовками и их полями ввода.
Если требуется разместить несколько компактных полей в одну строку так, чтобы заголовок каждого следовал сразу перед полем, настроим компактную компоновку:
Группа элементов и установим её свойство Группировка в значение Горизонтальная всегда или Горизонтальная если возможно.РастягиватьПоГоризонтали (StretchHorizontally), установив значение Ложь.Ширина (Width) в символах, чтобы поле не занимало всю свободную область строки.ВыравниваниеЭлементовИЗаголовков установлено в НеВыравнивать или Авто.Флажки (поля с булевым типом данных) нередко выравниваются некорректно относительно обычных текстовых полей из-за особенностей отрисовки переключателя. Рассмотрим, как это исправить:
ПоложениеЗаголовка (TitleLocation):
Справа — заголовок переносится за поле (наиболее естественно для флажков);Сверху — заголовок размещается над окном ввода, что полностью решает проблему горизонтальных разрывов в интерфейсе «Такси»;Нет — заголовок скрывается, если рядом используется отдельная надпись или декорация.Комбинируя отключение свойства СквозноеВыравнивание с установкой значения НеВыравнивать для свойства ВыравниваниеЭлементовИЗаголовков, можно добиться аккуратного и компактного расположения элементов формы без необходимости использования обходных путей вроде пустых подсказок или декораций.