При разработке отчетов и форм с множеством настроек в обычных формах 1С часто возникает необходимость предоставить пользователю возможность интерактивно изменять высоту блока настроек и области вывода отчета. Рассмотрим, как правильно реализовать такое поведение формы, используя штатные механизмы платформы.
По умолчанию при изменении размера формы масштабируется только основное ПолеТабличногоДокумента. Чтобы пользователь мог вручную мышью перетаскивать границу между блоком параметров и областью отчета, между ними необходимо разместить элемент управления Разделитель (горизонтальный разделитель).
Выясним важное различие между элементами визуального оформления, которое напрямую влияет на настройку привязок:
1. Рамка группы — это исключительно графическое оформление. В обычных формах рамка не является контейнером-родителем для находящихся внутри нее полей ввода, надписей и флажков. Если привязать к разделителю только саму рамку, то внутренние элементы останутся неподвижными. В этом случае придется вручную привязывать нижнюю границу каждого поля ввода к разделителю.
2. Панель — является полноценным контейнером. Все расположенные на панели элементы автоматически привязываются к ее внутренним границам. Если вместо «Рамки группы» использовать элемент Панель, при изменении высоты панели разделителем все вложенные элементы будут корректно масштабироваться вместе с ней.
Проанализируем последовательность действий для правильной настройки интерфейса:
ПолемТабличногоДокумента вставляем элемент управления Разделитель.- У элементов верхней части (или у контейнера Панель) устанавливаем привязку нижней границы к верхней границе разделителя.
- У элемента ПолеТабличногоДокумента настраиваем привязку верхней границы к нижней границе разделителя, а нижнюю границу привязываем к нижней границе формы.
- У самого разделителя левую и правую границы привязываем к соответствующим краям формы, а вертикальное перемещение оставляем свободным.
Посмотрим на другие удобные решения для оптимизации рабочего пространства отчета:
1. Использование сворачивания панели: У элемента Панель можно включить свойство Свертка. Это позволит пользователю в один клик сворачивать весь блок с параметрами отчета вверх, отводя все свободное место под табличный документ без необходимости двигать разделитель мышью.
2. Программное управление видимостью: Можно реализовать кнопку, которая программно скрывает блок настроек и разделитель, а также смещает верхнюю границу поля табличного документа вверх.