При переходе на новые релизы платформы 1С:Предприятие 8.3 (ветки 8.3.24 и 8.3.25) многие пользователи и администраторы столкнулись с неприятной особенностью поведения интерфейса. Проблема заключается в том, что при попытке активировать поле (поставить курсор), находящееся в нижней части формы, окно прокручивается (прыгает) в самый верх. При этом само поле остается активным, но пользователю приходится снова прокручивать форму вниз, чтобы продолжить работу. Это делает ввод данных крайне неудобным, особенно в документах с большим количеством реквизитов.
Разберем детально причины этого поведения, официально зарегистрированные ошибки и все доступные способы решения — от простых пользовательских настроек до администрирования платформы.
Проанализировав поведение системы, мы выяснили, что данное поведение не связано с кодом конкретной конфигурации (будь то ERP, ЗУП, УНФ или самописное решение). Это внутренняя ошибка механизма рендеринга управляемых форм в тонком клиенте.
Фирма «1С» зарегистрировала данную проблему как официальную ошибку:
Код ошибки: 60015948
Суть ошибки: В интерфейсе «Такси» при переходе к полю, расположенному в нижней части формы, если форма имеет вертикальную полосу прокрутки, происходит необоснованная прокрутка формы вверх. Проблема усугубляется при использовании масштабирования интерфейса, отличного от 100%.
Наиболее правильным путем решения является обновление технологической платформы до релиза, в котором эта ошибка устранена. Рассмотрим список версий, где исправление уже присутствует:
Если обновление платформы в данный момент невозможно по корпоративным стандартам, перейдем к временным методам исправления.
Одним из самых действенных и простых методов обхода ошибки, который мы можем применить непосредственно на рабочем месте пользователя, является изменение масштаба формы. Ошибка проявляется при стандартном расчете координат элементов, и принудительное изменение масштаба заставляет платформу пересчитывать макет отображения.
Выполним следующие действия:
Это решение не требует прав администратора и может быть применено самим пользователем.
Если специфика работы позволяет, мы можем перевести пользователей на работу через браузер. Механизм рендеринга форм в веб-клиенте (HTML5) отличается от тонкого клиента (нативного), и данная ошибка там не воспроизводится.
Для этого необходимо:
В браузере формы будут работать корректно, прокрутка останется на месте фокуса ввода.
В обсуждении также упоминались сопутствующие проблемы на данных релизах платформы, такие как появление «черных квадратов» вместо подчиненных форм. Это также связано с графической подсистемой платформы. Решением может стать отключение аппаратного ускорения отрисовки.
Рассмотрим, как это сделать:
Вариант А: Через файл конфигурации
Найдите файл conf.cfg в папке установки платформы (или в папке conf конкретной версии) и добавьте туда строку:
GraphicsAcceleration=0
Вариант Б: Через параметры запуска
В список информационных баз можно добавить ключ запуска, отключающий оптимизацию отрисовки:
/odu
Этот параметр предназначен для отладки замедления ускорения, но фактически он отключает использование Direct3D для рендеринга форм, что может стабилизировать поведение окна.
Иногда проблема усугубляется настройками операционной системы, особенно если у пользователя в параметрах экрана Windows установлен масштаб текста 125% или 150%. Мы можем попробовать переопределить это поведение для процесса 1С.
После применения настроек перезапустите клиент 1С и проверьте поведение формы.
В рамках обсуждения проблемы с интерфейсом, мы также затронули вопрос нестабильного поведения текста в модулях конфигуратора (строки прыгают вверх-вниз при наборе кода). Хотя это другая ошибка, она также мешает работе.
Если вы столкнулись с подобным при разработке, попробуйте следующий лайфхак:
Добавьте в самый конец редактируемого модуля большое количество пустых строк (нажимая Enter), чтобы создать запас свободного пространства (примерно на один экран). Это часто стабилизирует скроллинг редактора кода в старых релизах платформы или при работе через RDP.
Проблема «прыгающей» формы — это признанная ошибка платформы 1С версий 8.3.24 и 8.3.25.
Краткий алгоритм действий: