В процессе работы с конфигурацией 1С:ERP Управление предприятием пользователи и разработчики часто сталкиваются с неприятной особенностью интерфейса: в документе Заказ клиента внезапно появляется вертикальная прокрутка (скролл), даже если экран монитора достаточно велик. Это вынуждает постоянно прокручивать форму вниз, чтобы добраться до табличной части или подвала документа, что существенно замедляет работу. При этом аналогичные документы, такие как Заказ поставщику, могут отображаться идеально корректно.
В этой статье мы подробно разберем, почему возникает такая проблема, и рассмотрим несколько способов её решения — от простых пользовательских настроек до программного изменения свойств формы.
Проанализируем механику работы управляемых форм. Платформа 1С:Предприятие 8.3 рассчитывает общую высоту формы исходя из высоты самого «высокого» элемента на всех существующих закладках. Рассмотрим основные причины возникновения лишней прокрутки:
Товары в свойствах установлено фиксированное значение высоты (например, 15 или 20 строк) вместо автоматического (0), это может провоцировать появление скролла при небольших разрешениях экрана или специфическом масштабировании.РастягиватьПоВертикали в значение Да, а контент внутри группы имеет ограничения, это создает конфликт размеров, приводящий к появлению полосы прокрутки.Прежде всего, проверим содержимое всех закладок документа. Если мы обнаружим вкладку с избыточным количеством реквизитов, расположенных вертикально, нам необходимо изменить их компоновку. Разберем по шагам, как это сделать через встроенные инструменты:
ГруппаРеквизитыSap или ГруппаДополнительно).Высота у табличных частей. Для корректного динамического изменения размера установим высоту в значение 0.Если интерактивные настройки не приносят результата, воспользуемся встроенным языком 1С для принудительного управления поведением формы. Рассмотрим программные свойства, которые помогут решить проблему. В модуле формы в процедуре ПриСозданииНаСервере или ПриОткрытии можно добавить следующий код:
// Устанавливаем режим прокрутки всей формы
ЭтаФорма.ВертикальнаяПрокрутка = ВертикальнаяПрокруткаФормы.ИспользоватьПриНеобходимости;
// Настраиваем поведение конкретной страницы, которая вызывает растягивание
// Предположим, проблемная страница называется ГруппаСтраницаДополнительно
Элементы.ГруппаСтраницаДополнительно.ВертикальнаяПрокруткаПриСжатии = Истина;
Разберем, что делает этот код. Свойство ВертикальнаяПрокрутка в значении ИспользоватьПриНеобходимости позволяет платформе более гибко подходить к отрисовке. Однако ключевым здесь является свойство ВертикальнаяПрокруткаПриСжатии. Если установить его для конкретной «длинной» страницы, то скролл появится только внутри этой страницы, когда она активна, а общая форма документа останется фиксированной по высоте окна.
Иногда причина кроется в сохраненных настройках конкретного пользователя, которые конфликтуют с обновленным кодом конфигурации. Рассмотрим алгоритм очистки:
Заказ клиента.Проанализируем влияние системных настроек отображения. Современные версии 1С:ERP работают в интерфейсе «Такси», который чувствителен к масштабу Windows:
Если вы хотите добиться идентичного поведения с документом Заказ поставщику, рекомендуется открыть оба документа в конфигураторе и сравнить свойства корневого элемента Форма. Обратите особое внимание на свойства ВариантУправленияВысотой и СпособОтображенияОкна. Скорее всего, в «Заказе клиента» задействовано большее количество функциональных опций, которые создают скрытые группы, влияющие на расчет итоговой высоты документа.