Как убрать вертикальную полосу прокрутки в форме документа 1С:УНФ 3.0

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

В практике разработчика 1С нередко возникает ситуация, когда две абсолютно идентичные конфигурации (или копии одной базы), использующие индивидуальный стиль и иконки для УНФ 3.0, ведут себя по-разному. Одной из самых раздражающих проблем является внезапное появление вертикальной полосы прокрутки в управляемой форме, даже если в конфигураторе все настройки выставлены корректно. Это не только портит внешний вид, но и мешает пользователю, так как часть реквизитов скрывается за нижней границей окна, что требует открытия доступа к скрытым реквизитам для полноценной работы. В этой статье мы подробно разберем, почему это происходит и как привести интерфейс в порядок.

Анализируем причины появления прокрутки

Для начала давайте разберемся, как платформа 1С:Предприятие 8.3 принимает решение о выводе полосы прокрутки. Управляемая форма — это динамический объект. Платформа рассчитывает высоту каждого элемента (полей ввода, кнопок, групп, состояния объектов на форме) и сопоставляет их с доступной высотой окна приложения. Если суммарная высота элементов превышает высоту окна, появляется скролл.

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

Шаг 1. Сброс пользовательских настроек формы

Самая распространенная причина — это то, что 1С запоминает действия пользователя. Даже если программист не менял форму, пользователь мог зайти в меню «Изменить форму», выполнить настройку списка, поменять высоту табличной части или добавить новые поля. Эти изменения сохраняются в системном хранилище настроек и имеют приоритет над тем, что написано в конфигураторе.

Выполним следующие действия для очистки этих настроек:

  1. Откроем проблемную форму в режиме «1С:Предприятие».
  2. Нажмем кнопку «Ещё» в командной панели формы.
  3. Выберем пункт «Изменить форму...».
  4. В открывшемся окне нажмем «Ещё» — «Установить стандартные настройки».

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

Шаг 2. Проверка плотности интерфейса (Компактный режим)

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

Проанализируем настройки интерфейса:

  1. Перейдем в главное меню (три полоски или стрелочка в левом верхнем углу).
  2. Выберем раздел «Настройки» — «Параметры».
  3. Найдем группу «Интерфейс».
  4. Попробуем переключить режим на «Компактный» и перезапустить приложение.

Компактный режим часто решает проблему «лишних» пикселей на мониторах с небольшим разрешением.

Шаг 3. Масштабирование операционной системы и DPI

Если свойства формы в 1С одинаковые, а результат разный, нам стоит посмотреть на настройки Windows. Платформа 1С очень чувствительна к параметру DPI (масштаб текста и приложений). Если на одном компьютере стоит масштаб 100%, а на другом 125% (что часто бывает на ноутбуках), 1С пропорционально увеличивает все элементы формы.

Выясним причину через настройки экрана:

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

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

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

  1. ВертикальнаяПрокруткаПриСжатии: Проверьте это свойство у всех «Страниц» и «Групп». Если где-то стоит значение Да, платформа при малейшем недостатке места добавит полосу прокрутки именно этому элементу.
  2. РастягиватьПоВертикали: Если у вас есть большая табличная часть или группа, у которой установлено РастягиватьПоВертикали — Да, она будет пытаться занять всё доступное пространство. Если при этом у родительской группы или самой формы жестко задана Высота, возникнет конфликт, решаемый платформой через скролл.
  3. Высота (Height): Проанализируем числовые значения высоты. Рекомендуется везде оставлять значение 0 (авто), кроме случаев, когда вам действительно нужно ограничить размер элемента. Если суммарная фиксированная высота элементов больше высоты клиентской области, прокрутка неизбежна.

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


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    // Устанавливаем автоматический режим прокрутки
    ЭтаФорма.ВертикальнаяПрокрутка = ИспользованиеВертикальнойПрокрутки.Авто;
    
    // Если нужно жестко запретить прокрутку (используйте с осторожностью!)
    // ЭтаФорма.ВертикальнаяПрокрутка = ИспользованиеВертикальнойПрокрутки.Нет;
КонецПроцедуры

Шаг 5. Очистка кэша конфигурации

Бывает так, что платформа «зависает» на старом представлении формы после обновления расширения. Мы можем увидеть это, когда свойства в конфигураторе уже изменены, а в режиме предприятия полоса все еще висит. В этом случае поможет очистка локального кэша.

Рассмотрим порядок действий:

  1. Закройте все сеансы 1С.
  2. Удалите информационную базу из списка в окне запуска.
  3. Нажмите «Добавить» и подключите ту же базу заново.

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

Резюме

Мы выяснили, что вертикальная полоса прокрутки — это результат взаимодействия множества факторов. Если вы столкнулись с этой проблемой в 1С:УНФ 3.0, начните с сброса настроек формы (Изменить форму -> Стандартные настройки) и проверки масштаба Windows. В большинстве случаев проблема скрыта именно там, а не в коде расширения. Помните, что свойство ВертикальнаяПрокрутка в значении Авто — это наиболее стабильный вариант, позволяющий платформе самой адаптироваться под разные мониторы пользователей.

← На главную