Как выровнять значения и поля ввода на управляемой форме 1С в одну колонку?

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

Работа с интерфейсом в системе 1С:Предприятие 8.3 часто вызывает вопросы даже у опытных разработчиков. Управляемая форма — это живой организм, который пытается самостоятельно распределить элементы, исходя из логики платформы. Однако на практике нам часто требуется строгое визуальное соответствие макету: чтобы все поля ввода стояли ровно в одну колонку, а их значения были выровнены по левой стороне. В этой статье мы подробно проанализируем ситуацию, разберем основные инструменты позиционирования и научимся настраивать элементы формы так, чтобы они выглядели профессионально.

Основы группировки: создаем каркас формы

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

  1. Добавим на форму новую группу (команда «Добавить — Группа — Обычная группа»).
  2. Перенесем в эту группу все элементы, которые должны стоять в одной колонке.
  3. В свойствах созданной группы найдем параметр Группировка. Чтобы элементы выстраивались строго друг под другом (так же реализуются и вертикальные закладки в интерфейсе), установим значение Вертикальная.

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

Использование свойства «Отображение» и настройка «Группы без отображения»

Как было отмечено в ходе обсуждения, ключевым моментом для визуальной чистоты является свойство Отображение. Рассмотрим, как оно влияет на интерфейс. Если мы выберем вариант «Нет», группа станет логическим контейнером, который управляет выравниванием, но не рисует рамку и не занимает лишнее пространство.

В современных конфигурациях мы часто используем вид группы Группа без отображения. Это позволяет:

Выравнивание за счет настройки ширины заголовков

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

В свойствах самой Группы (родительского контейнера) есть блок параметров «Размещение». Найдем свойство ВыравниваниеЗаголовков. Если установить его в значение Лево или Право, платформа попытается синхронизировать ширину заголовков всех элементов внутри этой группы.

Если автоматическое выравнивание не помогает, мы можем прибегнуть к ручной настройке каждого элемента:

  1. Выделим все элементы в группе.
  2. В палитре свойств найдем поле ШиринаЗаголовка.
  3. Установим фиксированное числовое значение (например, 20).

Теперь все поля ввода начнутся ровно с 20-го символа от левого края группы, создавая ту самую «одну колонку», о которой спрашивал автор темы.

Управление положением заголовка для экономии места

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

Растягивание и фиксированная ширина элементов

Чтобы колонки не «прыгали» при изменении размеров окна, проанализируем настройки ширины самих полей ввода. В управляемых формах за это отвечают свойства:

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

Пример программного управления свойствами формы

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


// Пример настройки свойств группы при создании формы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    // Находим группу на форме
    ГруппаАнкета = ЭтаФорма.Элементы.ГруппаАнкета;
    
    // Устанавливаем вертикальное выравнивание
    ГруппаАнкета.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная;
    
    // Настраиваем поведение заголовков внутри группы
    ГруппаАнкета.ВыравниваниеЗаголовков = ВыравниваниеЗаголовковЭлементовФормы.Лево;
    
    // Пройдемся по элементам группы и зададим ширину заголовков программно
    Для Каждого Элемент Из ГруппаАнкета.ПодчиненныеЭлементы Цикл
        Элемент.ШиринаЗаголовка = 25;
        Элемент.РастягиватьПоГоризонтали = Ложь;
        Элемент.Ширина = 40;
    КонецЦикла;
    
КонецПроцедуры

Дополнительные интервалы и отступы

Для того чтобы значения не слипались в одну нечитаемую массу, важно помнить про свойство РасстояниеМеждуЭлементами в настройках родительской группы. Мы можем выбрать значения «Без отступа», «Одинарный» или «Двойной». Это добавит «воздуха» между строками нашей колонки, что сделает интерфейс более дружелюбным к пользователю.

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

← На главную