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

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

При разработке отчетов и форм с множеством настроек в обычных формах 1С часто возникает необходимость предоставить пользователю возможность интерактивно изменять высоту блока настроек и области вывода отчета. Рассмотрим, как правильно реализовать такое поведение формы, используя штатные механизмы платформы.

Анализ задачи и выбор элемента управления

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

Особенности элементов «Рамка группы» и «Панель»

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

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

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

Разберем по шагам порядок настройки разделителя и привязок

Проанализируем последовательность действий для правильной настройки интерфейса:

  1. Добавление разделителя: На форму между блоком настроек (панелью или рамкой) и ПолемТабличногоДокумента вставляем элемент управления Разделитель.
  2. Настройка параметров разделителя: По стандартам разработки рекомендуемая высота горизонтального разделителя составляет 6 пикселей. В свойствах элемента для свойства «Рамка» рекомендуется установить значение Нет рамки (или «Одинарная», если требуется явное визуальное выделение границы).
  3. Настройка привязок границ: Штатный механизм «Автопривязка границ» при добавлении разделителя может работать некорректно. Переведем элементы на ручную настройку привязок:

    - У элементов верхней части (или у контейнера Панель) устанавливаем привязку нижней границы к верхней границе разделителя.

    - У элемента ПолеТабличногоДокумента настраиваем привязку верхней границы к нижней границе разделителя, а нижнюю границу привязываем к нижней границе формы.

    - У самого разделителя левую и правую границы привязываем к соответствующим краям формы, а вертикальное перемещение оставляем свободным.

  4. Проверка работы: Проверим правильность настройки привязок и поведения элементов в режиме конфигуратора, используя сочетание клавиш Ctrl+R.

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

Посмотрим на другие удобные решения для оптимизации рабочего пространства отчета:

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

2. Программное управление видимостью: Можно реализовать кнопку, которая программно скрывает блок настроек и разделитель, а также смещает верхнюю границу поля табличного документа вверх.

← На главную