Как эффективно разместить элементы на управляемой форме и избавиться от полос прокрутки

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

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

Группировка элементов по горизонтали

Одной из самых частых ошибок является последовательное (вертикальное) размещение всех элементов. Если на форме присутствуют две или более табличные части, платформа по умолчанию располагает их друг под другом, что мгновенно увеличивает высоту формы. Разберем, как это оптимизировать.

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

Аналогичный подход применим и к шапке документа. Если поля ввода (например, «Организация», «Склад», «Ответственный») идут длинным списком вниз, стоит сгруппировать их в несколько колонок, используя ту же горизонтальную группировку. Это освободит место для основных табличных данных.

Использование страниц и закладок

Выясним, все ли данные нужны пользователю одновременно. Часто на форме присутствуют вспомогательные таблицы (например, «Взносы», «Налоги» или «Дополнительные реквизиты»), которые заполняются реже основных. В таком случае целесообразно использовать элемент Страницы.

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

Управление растягиваемостью и высотой таблиц

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

  1. Вариант управления высотой: Установим значение Использовать высоту в строках. Это позволит нам жестко задать, сколько строк таблицы будет видно без прокрутки.
  2. Высота: Зададим фиксированное значение (например, 5–8 строк). Это предотвратит «раздувание» таблицы до бесконечности.
  3. Растягивать по вертикали: Если у вас несколько объектов на форме претендуют на свободное место, установим Нет для тех, чей размер не критичен.

Оптимизация декораций и подсказок

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

В современных версиях платформы 1С мы можем настроить свойство Отображение подсказки. Выберем вариант Текст под полем или Информационная кнопка. Это позволит сэкономить драгоценные пиксели по вертикали, сохраняя информативность интерфейса для пользователя.

Применение компактного режима

Если элементов все равно слишком много, попробуем задействовать Компактный режим. Это специальная настройка интерфейса, которая уменьшает отступы между элементами и высоту самих полей ввода, делая форму похожей на интерфейс версии 8.2, но в рамках УФ.

Также стоит проверить свойство Ширина у полей ввода. По умолчанию платформа часто устанавливает избыточную ширину. Если мы явно укажем ширину (например, 10 или 15 символов), элементы при горизонтальной группировке будут располагаться гораздо плотнее.

Перенос кнопок в командную панель

Если основной проблемой является то, что кнопки внизу формы уходят под скролл, проанализируем целесообразность их нахождения в подвале. В управляемом приложении стандартным UX-решением является использование командной панели формы (в верхней части окна) или командных панелей конкретных таблиц.

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

Программное управление видимостью

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

Настроим свойство Видимость в зависимости от контекста. Это позволит форме автоматически «поджиматься», когда ненужные блоки скрыты. Пример логики в модуле формы:


&НаСервере
Процедура ОбновитьВидимостьНаСервере()
    Элементы.ГруппаИмпортныеДанные.Видимость = (Объект.ВидОперации = ПредопределенноеЗначение("Перечисление.ВидыОпераций.Импорт"));
КонецПроцедуры

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

← На главную