Как выровнять элементы и колонки на управляемой форме 1С при повышении режима совместимости

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

При повышении режима совместимости конфигурации (например, при переходе с версии 8.3.6 на более актуальные релизы платформы 1С:Предприятие) разработчики часто сталкиваются с изменением поведения компоновки элементов управляемой формы. Форма, которая раньше выглядела аккуратно и содержала четкую сетку из нескольких колонок и строк, неожиданно «разъезжается»: элементы смещаются по горизонтали, а границы полей ввода перестают совпадать.

Разберем, почему изменяется поведение платформного механизма расстановки элементов и как правильно настроить свойства групп на управляемой форме для создания четкой сетки 2х2.

Причина изменения поведения формы

Выясним причину такого поведения. Начиная с версии платформы 8.3.7, существенно изменился алгоритм расчета размеров и взаимного выравнивания элементов формы. В режиме совместимости 8.3.6 и ниже платформенная сетка опиралась на другие правила расчета ширины, а также присутствовали устаревшие механизмы выравнивания.

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

Основное решение: использование свойства «Объединенная»

Рассмотрим главное свойство, которое позволяет решить проблему выравнивания элементов между разными группами — это свойство Объединенная (в палитре свойств группы элементов формы).

По умолчанию у создаваемых групп признак Объединенная установлен в значение Истина. В этом режиме платформа объединяет все содержимое группы в один виртуальный элемент, изолированный от внешнего выравнивания.

Чтобы установить сквозную сетку выравнивания для нескольких независимых строк или колонок, выполним следующие шаги:

  1. Найдем в дереве элементов формы родительские группы, задающие строки или колонки (например, горизонтальные группы строк).
  2. В палитре свойств выбранных групп найдем свойство Объединенная.
  3. Снимем флажок, установив значение в Ложь.

Когда для группы установлено Объединенная = Ложь, платформа «раскрывает» ее внутреннюю структуру для внешнего механизма компоновки. В результате элементы, находящиеся в первой горизонтальной группе (например, «Организация» и «Контрагент»), и элементы из второй горизонтальной группы («Сумма» и «Налоги») начинают выравниваться по единым вертикальным опорным линиям.

Рекомендуемые схемы компоновки сетки 2х2

Проанализируем две основные схемы построения интерфейсных зон формата «два на два» на управляемой форме.

Схема 1: Вертикальный родитель — Горизонтальные строки

Данная схема считается наиболее удобной для выравнивания колонок:

  1. Создаем общую родительскую группу с видом Группа элементов - Вертикальная (с отключенным отображением заголовка).
  2. Внутри нее создаем две группы с видом Группа элементов - Горизонтальная:
    • «Строка 1» (включает блоки «Организация» и «Контрагент»).
    • «Строка 2» (включает блоки «Сумма» и «Налоги»).
  3. Для обеих горизонтальных групп устанавливаем свойство Объединенная = Ложь.

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

Схема 2: Горизонтальный родитель — Вертикальные колонки

Если структура формы требует группировки по вертикальным колонкам:

  1. Создаем общую родительскую группу с видом Группа элементов - Горизонтальная.
  2. Внутри нее размещаем две группы с видом Группа элементов - Вертикальная:
    • «Левая колонка» (содержит последовательно «Организация» и «Сумма»).
    • «Правая колонка» (содержит последовательно «Контрагент» и «Налоги»).
  3. Снимаем признак Объединенная у родительской или вложенных вертикальных групп.

Дополнительные свойства для точной настройки выравнивания

Если после снятия флага Объединенная выравнивание элементов все еще выглядит неидеально, проанализируем дополнительные настройки формы:

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

Использование описанных настроек позволяет добиться строгого расположения блоков и полей ввода на управляемой форме 1С без использования устаревших параметров фиксированной ширины.

← На главную