Как убрать лишний вертикальный скролл в документе «Заказ клиента» в 1С:ERP?

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

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

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

Выясним причину: почему появляется вертикальный скролл?

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

  1. Влияние невидимых или скрытых элементов. Если на одной из вкладок (например, «Дополнительно», «Доставка» или специфических кастомных вкладках вроде «Реквизиты Sap») расположено большое количество полей («простыня» реквизитов), форма будет растягиваться под их суммарную высоту. Даже если эта вкладка в данный момент не активна, платформа резервирует место под её содержимое в общем контейнере формы.
  2. Фиксированная высота табличных частей. Если для основной табличной части Товары в свойствах установлено фиксированное значение высоты (например, 15 или 20 строк) вместо автоматического (0), это может провоцировать появление скролла при небольших разрешениях экрана или специфическом масштабировании.
  3. Настройки растягивания. Проанализируем свойства групп формы. Если у какой-либо группы установлено свойство РастягиватьПоВертикали в значение Да, а контент внутри группы имеет ограничения, это создает конфликт размеров, приводящий к появлению полосы прокрутки.

Метод 1. Оптимизация состава реквизитов на вкладках

Прежде всего, проверим содержимое всех закладок документа. Если мы обнаружим вкладку с избыточным количеством реквизитов, расположенных вертикально, нам необходимо изменить их компоновку. Разберем по шагам, как это сделать через встроенные инструменты:

  1. Перейдем в меню Еще — Изменить форму.
  2. Найдем группу, отвечающую за проблемную вкладку (например, ГруппаРеквизитыSap или ГруппаДополнительно).
  3. Попробуем сгруппировать реквизиты в несколько колонок, используя вид группы Группа колонок. Это позволит уменьшить общую высоту страницы.
  4. Проверим свойство Высота у табличных частей. Для корректного динамического изменения размера установим высоту в значение 0.

Метод 2. Программное управление прокруткой

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


// Устанавливаем режим прокрутки всей формы
ЭтаФорма.ВертикальнаяПрокрутка = ВертикальнаяПрокруткаФормы.ИспользоватьПриНеобходимости;

// Настраиваем поведение конкретной страницы, которая вызывает растягивание
// Предположим, проблемная страница называется ГруппаСтраницаДополнительно
Элементы.ГруппаСтраницаДополнительно.ВертикальнаяПрокруткаПриСжатии = Истина;

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

Метод 3. Сброс пользовательских настроек и кэша

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

  1. Воспользуемся командой Еще — Установить стандартные настройки в форме документа Заказ клиента.
  2. Если это не помогло, проанализируем настройки через Администрирование — Настройки пользователей и прав — Настройки пользователей. Там можно найти и удалить конкретную настройку формы для проблемного документа.
  3. В редких случаях помогает полная очистка кэша метаданных, так как платформа может хранить старые расчеты геометрии формы.

Метод 4. Учет масштабирования и режима интерфейса

Проанализируем влияние системных настроек отображения. Современные версии 1С:ERP работают в интерфейсе «Такси», который чувствителен к масштабу Windows:

  1. Убедимся, что масштаб в настройках Windows установлен в значение 100%. Если установлено 125% или 150%, платформа может некорректно рассчитывать высоту элементов, добавляя лишние пиксели прокрутки.
  2. Посмотрим на настройки масштаба внутри самой 1С (меню Вид — Изменить масштаб). Попробуйте установить значение 90% или 100%.
  3. Попробуем включить Компактный режим интерфейса в настройках программы. Это уменьшит отступы между элементами и позволит форме целиком уместиться на экране без появления вертикального скролла.

Сравнение с документом «Заказ поставщику»

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

← На главную