При работе с конфигурациями на обычных формах, такими как Управление торговлей 10.3, Управление производственным предприятием 1.3 или Бухгалтерия предприятия 2.0, разработчики и пользователи часто сталкиваются с неприятным визуальным дефектом. В списках документов или справочников внезапно исчезает «бегунок» (ползунок) вертикальной полосы прокрутки. Сама полоса при этом отображается, кнопки-стрелки могут присутствовать, но перемещаться по списку с помощью мыши становится практически невозможно.
Проанализируем ситуацию: чаще всего эта проблема проявляется на платформе 1С:Предприятие 8.3.8. В этой статье мы подробно разберем причины возникновения бага, рассмотрим технические подробности и предложим несколько проверенных способов решения задачи.
Выясним причину такого странного поведения интерфейса. Проблема официально зарегистрирована в реестре ошибок 1С под номером 10162686. Суть ошибки заключается в том, что в таблицах, расположенных в обычных формах, вертикальная полоса прокрутки начинает отрисовываться некорректно.
Это произошло из-за масштабных изменений в графическом движке 1С при переходе к интерфейсу «Такси». Разработчики платформы изменили алгоритмы расчета динамических списков, чтобы оптимизировать нагрузку на сервер (отказались от предварительного подсчета общего количества строк). К сожалению, эти изменения «зацепили» и старые добрые обычные формы, которые не были рассчитаны на такие механизмы работы. Если вы отредактировали форму в конфигураторе под версией 8.3.8, метаданные формы могут обновиться таким образом, что ползунок перестанет отображаться во всех последующих сеансах работы.
Самым правильным и надежным решением является обновление технологической платформы. Ошибка была исправлена разработчиками 1С в последующих сборках.
Рассмотрим, на какие версии стоит ориентироваться:
После обновления платформы на сервере и клиентских машинах ползунок в списках должен появиться автоматически без дополнительных манипуляций с конфигурацией.
Бывают ситуации, когда оперативно обновить платформу на всем предприятии невозможно (например, из-за жестких требований к стабильности конкретного релиза). В этом случае проанализируем методику «лечения» формы через откат версии конфигуратора.
Разберем этот процесс по шагам:
Важное замечание: Если вы снова откроете эту форму в конфигураторе версии 8.3.8 (до исправления 1933) и внесете изменения, баг может вернуться. Будьте осторожны при совместной разработке.
Иногда ползунок пропадает не из-за бага платформы, а из-за повреждения файлов настроек конкретного пользователя. Если у других сотрудников в этой же базе всё отображается корректно, выполним следующие действия:
Очистка кэша: Удалите содержимое папок в каталогах %AppData%\1C\1Cv8 и %LocalAppData%\1C\1Cv8. Это заставит платформу заново считать метаданные форм с сервера.
Сброс настроек списка: Платформа 1С хранит настройки колонок, фильтров и видимости элементов. Чтобы вернуть их к стандартному виду, выполним программную очистку или ручной сброс:
Если это не помогло, проанализируем ситуацию с системным хранилищем. В режиме «1С:Предприятие» можно воспользоваться обработкой по очистке настроек пользователей (хранилище системных настроек), чтобы удалить записи для конкретной формы.
Посмотрим на проблему с точки зрения операционной системы. Платформы линейки 8.3.8 имели специфические трудности с отрисовкой элементов при нестандартном масштабе DPI.
Если у пользователя в настройках экрана Windows установлено значение 125% или 150%, графический движок 1С может ошибочно рассчитать ширину ползунка как нулевую. Попробуйте установить масштаб 100% в настройках Windows и перезапустить сеанс 1С для проверки. Если ползунок появился, значит, проблема в совместимости старого интерфейса 1С и высокого разрешения экрана.
В редких случаях помогает анализ структуры формы через выгрузку в XML. Если мы выгрузим файлы конфигурации, то в описании элемента формы ТабличноеПоле можно встретить параметры отрисовки полос прокрутки.
<VerticalScrollBar>Использовать</VerticalScrollBar>
<HorizontalScrollBar>Использовать</HorizontalScrollBar>
Проанализируем файл: если там жестко прописано значение НеИспользовать или параметры привязок (Anchors) имеют отрицательные значения, это блокирует визуальное отображение элемента. После ручной правки и загрузки метаданных обратно в конфигуратор работоспособность восстанавливается.
Резюмируем: Основной путь решения — это обновление до 8.3.8.1933 или переход на современные релизы 8.3.22+. Если обновление невозможно, используйте метод сохранения формы в версии 8.3.7. Эти действия гарантированно вернут удобство работы вашим пользователям.