Почему пропал ползунок на полосе прокрутки списка документов и как его вернуть?

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

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

Диагностика стандартных настроек формы

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

  1. Проверка свойств элемента управления в конфигураторе. Откроем свойства проблемного табличного поля и найдем реквизит ВертикальнаяПолосаПрокрутки в группе «Характеристики». Если установлено значение Использовать автоматически, платформа скрывает ползунок в ситуациях, когда текущее количество видимых строк полностью помещается в границах окна. Попробуем временно переключить значение на Использовать всегда.
  2. Проверка установленных отборов и периодов. Убедимся, что в режиме «1С:Предприятие» не установлен узкий интервал видимости журнала (например, текущий день) или жесткий отбор, из-за которого в выборку попадает всего несколько записей.
  3. Сброс пользовательских настроек формы. Нажмем правой кнопкой мыши по списку документов и выберем пункт «Восстановить положение окна». Иногда сохраненные пользовательские настройки колонок и размеров вызывают сбой отрисовки интерфейса.
  4. Очистка локального кэша. Закроем сеанс работы и очистим временные файлы платформы на клиенте, так как закэшированные метаданные могут вызывать визуальные артефакты.

Причина проблемы: зарегистрированная ошибка платформы

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

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

Официально разработчиками платформы данная ошибка была исправлена в сборке 8.3.8.1933 и последующих релизах. Однако если немедленное обновление технологической платформы на всех рабочих местах невозможно, восстановить форму можно обходными путями.

Способ 1. Восстановление формы с помощью конфигуратора младшей версии

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

  1. Запустим конфигуратор информационной базы под более ранней стабильной версией платформы (например, ветки 8.3.7 или 8.3.6).
  2. Откроем проблемную форму списка документов в дереве метаданных.
  3. Внесем любое незначительное визуальное изменение в редакторе формы (к примеру, чуть сдвинем границу элемента или колонки и вернем ее обратно), чтобы конфигуратор пометил форму как модифицированную.
  4. Сохраним изменения и обновим конфигурацию базы данных клавишей F7.

Конфигуратор предыдущего релиза перезапишет внутренние структуры описания формы в корректном формате. После этого откроем форму в рабочем сеансе 8.3.8.1652 — вертикальная полоса прокрутки и ползунок вернутся на свое место.

Способ 2. Восстановление элемента формы из резервной копии

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

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

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

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

Рассмотрим важную деталь, касающуюся дальнейшего развития платформы. В интерфейсе «Такси» управляемых форм динамические списки работают по принципу динамического считывания порций данных без постоянного полного подсчета количества строк в таблице СУБД. Это сделано для существенного снижения нагрузки на сервер при работе с миллионами записей.

В связи с этим в управляемых формах привычный бегунок полосы прокрутки для динамических списков был полностью исключен, так как его позиция не может точно отражать реальное положение в общем массиве данных. Для быстрого перемещения по спискам пользователям рекомендуется использовать сочетания клавиш Home и End, кнопки постраничной навигации, а также механизм отборов и контекстного поиска.

← На главную