При переходе на новые версии платформы 1С:Предприятие (начиная с релиза 8.3.11 и старше) и последующем отключении режима совместимости разработчики часто сталкиваются с ситуацией, когда привычные управляемые формы начинают выглядеть иначе. Элементы перестают умещаться в видимой области окна, произвольно растягиваются, выталкивают соседние реквизиты или вызывают появление нежелательных горизонтальных и вертикальных полос прокрутки.
Разберем подробно, почему меняется поведение интерфейса, как устроен механизм расчета размеров элементов и какими способами можно восстановить корректный внешний вид форм.
Проанализируем ситуацию, происходящую при снятии или понижении режима совместимости конфигурации. В платформе 1С:Предприятие включается обновленный алгоритм расчета размеров элементов управляемого интерфейса «Такси»:
АвтоМаксимальнаяШирина начинает работать по новым правилам. Если этот флаг снят, а свойство МаксимальнаяШирина не заполнено (равно 0), элемент пытается занять все доступное пространство родительской группы, что приводит к выдавливанию остальных реквизитов за пределы экрана.Рассмотрим по шагам, как локализовать и исправить элементы, вызывающие расползание формы:
АвтоМаксимальнаяШирина включен. Если требуется зафиксировать ограничение для длинного текста, укажем явное числовое значение в свойстве МаксимальнаяШирина.Ширина, Высота, МинимальнаяШирина и МинимальнаяВысота у полей ввода и групп. В большинстве случаев для адаптивной верстки эти значения должны быть сброшены в 0, чтобы платформа рассчитывала размер автоматически на основе содержимого и текущего шрифта.РастягиватьПоГоризонтали и РастягиватьПоВертикали у вспомогательных надписей, кнопок и информационных полей, чтобы они не растягивали родительские контейнеры.Важно: все размеры в свойствах Ширина и Высота управляемых форм задаются не в пикселях, а в условных символах (средняя ширина символа системного шрифта), поэтому жестко заданные числовые параметры могут отображаться по-разному на разных мониторах.
Выясним причину, по которой горизонтальные группы перестают умещаться в окне при изменении разрешения экрана или масштабирования ОС. Если для группы установлено жесткое горизонтальное выравнивание, элементы выстраиваются в одну линию и не могут перенестись вниз.
Применим следующие правила компоновки групп:
Группировка в значение ГоризонтальнаяЕслиВозможно. В этом случае при нехватке ширины экрана часть элементов автоматически перенесется на следующую строку без появления полосы прокрутки.ПоложениеЗаголовка у полей ввода. Если заголовок расположен слева (Лево), ширина колонки выравнивается по самому длинному заголовку в группе. При нехватке места переключим положение заголовка на Верх.Посмотрим на общие настройки формы и пользовательского интерфейса, влияющие на отображение элементов:
ВертикальнаяПрокрутка. Рекомендуется использовать режим ИспользоватьПриНеобходимости, при котором платформа сначала пытается компактно разместить элементы и включает полосу прокрутки только в крайнем случае.Разберем поведение конфигуратора при настройке формы. В окне предварительного просмотра формы доступен выпадающий список стандартных экранных разрешений (например, 1280×1024, 1920×1080). При закрытии и повторном открытии редактора формы выбранное разрешение всегда возвращается к базовому значению 1280×1024.
Это является штатной особенностью среды разработки: выпадающий список предназначен только для визуальной проверки того, как адаптивная форма перестраивается на разных экранах. Сама управляемая форма не сохраняет привязку к пиксельным разрешениям, так как строится динамически на стороне клиента.
Если после оптимизации всех свойств реквизиты шапки или документа все равно перегружают экран, применим альтернативные варианты структурирования данных:
Страницы с несколькими вкладками.Поведение в значение Свертываемая.