При повышении режима совместимости конфигурации (например, при переходе с версии 8.3.6 на более актуальные релизы платформы 1С:Предприятие) разработчики часто сталкиваются с изменением поведения компоновки элементов управляемой формы. Форма, которая раньше выглядела аккуратно и содержала четкую сетку из нескольких колонок и строк, неожиданно «разъезжается»: элементы смещаются по горизонтали, а границы полей ввода перестают совпадать.
Разберем, почему изменяется поведение платформного механизма расстановки элементов и как правильно настроить свойства групп на управляемой форме для создания четкой сетки 2х2.
Выясним причину такого поведения. Начиная с версии платформы 8.3.7, существенно изменился алгоритм расчета размеров и взаимного выравнивания элементов формы. В режиме совместимости 8.3.6 и ниже платформенная сетка опиралась на другие правила расчета ширины, а также присутствовали устаревшие механизмы выравнивания.
В более современных режимах платформы взаимное выравнивание элементов, находящихся в разных группах, зависит от иерархии контейнеров и специальных свойств сквозного выравнивания. Если элементы расположены в двух разных горизонтальных или вертикальных группах, платформа по умолчанию воспринимает каждую такую группу как независимый монолитный блок и не пытается сопоставлять границы внутренних полей между ними.
Рассмотрим главное свойство, которое позволяет решить проблему выравнивания элементов между разными группами — это свойство Объединенная (в палитре свойств группы элементов формы).
По умолчанию у создаваемых групп признак Объединенная установлен в значение Истина. В этом режиме платформа объединяет все содержимое группы в один виртуальный элемент, изолированный от внешнего выравнивания.
Чтобы установить сквозную сетку выравнивания для нескольких независимых строк или колонок, выполним следующие шаги:
Когда для группы установлено Объединенная = Ложь, платформа «раскрывает» ее внутреннюю структуру для внешнего механизма компоновки. В результате элементы, находящиеся в первой горизонтальной группе (например, «Организация» и «Контрагент»), и элементы из второй горизонтальной группы («Сумма» и «Налоги») начинают выравниваться по единым вертикальным опорным линиям.
Проанализируем две основные схемы построения интерфейсных зон формата «два на два» на управляемой форме.
Данная схема считается наиболее удобной для выравнивания колонок:
Объединенная = Ложь.При таком подходе платформенный механизм автоматически сформирует две вертикальные колонки одинаковой ширины, выровняв левые границы элементов второй строки строго под элементами первой строки.
Если структура формы требует группировки по вертикальным колонкам:
Объединенная у родительской или вложенных вертикальных групп.Если после снятия флага Объединенная выравнивание элементов все еще выглядит неидеально, проанализируем дополнительные настройки формы:
СквозноеВыравнивание находится в значении Использовать или Авто. Это заставляет платформу искать смежные элементы и выравнивать их надписи и поля по единой вертикали.Заголовки лево). Разная длина заголовков («Организация» и «Контрагент») может сдвигать поля ввода, если порядок выравнивания не фиксирован.ОтображатьЗаголовок, а у правой оно отключено, левая колонка сдвинется вниз относительно правой. Убедимся, что параметр отображения заголовка настроен одинаково для всех параллельных групп.Декорация вида Надпись с настроенным свойством РастягиватьПоВертикали.Использование описанных настроек позволяет добиться строгого расположения блоков и полей ввода на управляемой форме 1С без использования устаревших параметров фиксированной ширины.