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

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

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

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

Причины изменения компоновки форм при отключении режима совместимости

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

  1. Новый движок компоновки: алгоритм строже рассчитывает вложенные контейнеры, межэлементные отступы и ширину шрифтов, динамически распределяя свободное пространство окна.
  2. Перерасчет максимальной ширины: свойство АвтоМаксимальнаяШирина начинает работать по новым правилам. Если этот флаг снят, а свойство МаксимальнаяШирина не заполнено (равно 0), элемент пытается занять все доступное пространство родительской группы, что приводит к выдавливанию остальных реквизитов за пределы экрана.
  3. Влияние длинных надписей и заголовков: статические декорации (надписи, картинки) и длинные заголовки полей ввода при горизонтальном расположении перестают сжиматься автоматически, раздвигая границы формы.

Корректировка свойств элементов и сброс жестких размеров

Рассмотрим по шагам, как локализовать и исправить элементы, вызывающие расползание формы:

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

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

Настройка группировок элементов на форме

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

Применим следующие правила компоновки групп:

  1. Для горизонтальных групп установим свойство Группировка в значение ГоризонтальнаяЕслиВозможно. В этом случае при нехватке ширины экрана часть элементов автоматически перенесется на следующую строку без появления полосы прокрутки.
  2. Разделим перегруженные горизонтальные строки на логические колонки: создадим родительскую группу с горизонтальным положением, а внутри нее разместим две или три вертикальные группы с элементами.
  3. Проверим свойство ПоложениеЗаголовка у полей ввода. Если заголовок расположен слева (Лево), ширина колонки выравнивается по самому длинному заголовку в группе. При нехватке места переключим положение заголовка на Верх.

Управление прокруткой и компактным режимом интерфейса

Посмотрим на общие настройки формы и пользовательского интерфейса, влияющие на отображение элементов:

  1. Параметры прокрутки формы: в корневых свойствах формы проверим значение свойства ВертикальнаяПрокрутка. Рекомендуется использовать режим ИспользоватьПриНеобходимости, при котором платформа сначала пытается компактно разместить элементы и включает полосу прокрутки только в крайнем случае.
  2. Компактный режим отображения: в режиме «1С:Предприятие» пользователи могут уменьшить отступы между элементами через главное меню: «Настройки» — «Параметры» — «Внешний вид» / «Интерфейс» (выбрав компактный вариант).
  3. Масштабирование клиента: при нестандартном масштабе операционной системы (125%, 150%) масштаб управляемой формы можно скорректировать через меню «Вид» — «Масштаб».

Особенности предпросмотра разрешения в конфигураторе

Разберем поведение конфигуратора при настройке формы. В окне предварительного просмотра формы доступен выпадающий список стандартных экранных разрешений (например, 1280×1024, 1920×1080). При закрытии и повторном открытии редактора формы выбранное разрешение всегда возвращается к базовому значению 1280×1024.

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

Альтернативные способы компоновки перегруженных интерфейсов

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

  1. Использование страниц: второстепенные реквизиты, комментарии и служебную информацию перенесем в группу типа Страницы с несколькими вкладками.
  2. Сворачиваемые панели: редко используемые блоки полей объединим в группу и установим свойство Поведение в значение Свертываемая.
  3. Всплывающие диалоги: сложные детализированные данные (расшифровки расчетов, контактная информация) вынесем в отдельные вспомогательные формы, открываемые по гиперссылке или кнопке.
← На главную