Почему окно формы прыгает вверх при активации нижних реквизитов в 1С и как это исправить?

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

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

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

Причина проблемы: Ошибка платформы

Проанализировав поведение системы, мы выяснили, что данное поведение не связано с кодом конкретной конфигурации (будь то ERP, ЗУП, УНФ или самописное решение). Это внутренняя ошибка механизма рендеринга управляемых форм в тонком клиенте.

Фирма «1С» зарегистрировала данную проблему как официальную ошибку:

Код ошибки: 60015948

Суть ошибки: В интерфейсе «Такси» при переходе к полю, расположенному в нижней части формы, если форма имеет вертикальную полосу прокрутки, происходит необоснованная прокрутка формы вверх. Проблема усугубляется при использовании масштабирования интерфейса, отличного от 100%.

Способ 1: Обновление платформы (Рекомендуемое решение)

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

  1. Ветка 8.3.25: Исправлено в версии 8.3.25.1394 и выше. Обратите внимание, что в релизах 8.3.25.1336 и 8.3.25.1374 ошибка присутствует.
  2. Ветка 8.3.24: Ситуация неоднозначная. В некоторых списках исправлений фигурирует версия 8.3.24.1691, однако практика показывает, что у части пользователей проблема сохраняется. Рекомендуется тестировать или переходить на 25-ю ветку.
  3. Ветка 8.3.23: Если вы не готовы переходить на новые ветки, можно использовать стабильные релизы ветки 8.3.23 (начиная с 8.3.23.2157), где данная проблема рендеринга отсутствует.

Если обновление платформы в данный момент невозможно по корпоративным стандартам, перейдем к временным методам исправления.

Способ 2: Изменение масштаба интерфейса (Временное решение)

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

Выполним следующие действия:

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

Это решение не требует прав администратора и может быть применено самим пользователем.

Способ 3: Работа через Веб-клиент

Если специфика работы позволяет, мы можем перевести пользователей на работу через браузер. Механизм рендеринга форм в веб-клиенте (HTML5) отличается от тонкого клиента (нативного), и данная ошибка там не воспроизводится.

Для этого необходимо:

  1. Опубликовать информационную базу на веб-сервере (IIS или Apache).
  2. Предоставить пользователям ссылку для входа через браузер.

В браузере формы будут работать корректно, прокрутка останется на месте фокуса ввода.

Способ 4: Отключение аппаратного ускорения видео

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

Рассмотрим, как это сделать:

Вариант А: Через файл конфигурации

Найдите файл conf.cfg в папке установки платформы (или в папке conf конкретной версии) и добавьте туда строку:

GraphicsAcceleration=0

Вариант Б: Через параметры запуска

В список информационных баз можно добавить ключ запуска, отключающий оптимизацию отрисовки:

/odu

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

Способ 5: Настройка масштабирования в Windows (DPI)

Иногда проблема усугубляется настройками операционной системы, особенно если у пользователя в параметрах экрана Windows установлен масштаб текста 125% или 150%. Мы можем попробовать переопределить это поведение для процесса 1С.

  1. Найдите ярлык запуска 1С.
  2. Нажмите правой кнопкой мыши и выберите «Свойства».
  3. Перейдите на вкладку «Совместимость».
  4. Нажмите кнопку «Изменить параметры высокого DPI».
  5. Установите галочку «Переопределите режим масштабирования».
  6. В выпадающем списке выберите «Система» или «Приложение».

После применения настроек перезапустите клиент 1С и проверьте поведение формы.

Дополнительная проблема: «Прыжки» текста в Конфигураторе

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

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

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

Резюме

Проблема «прыгающей» формы — это признанная ошибка платформы 1С версий 8.3.24 и 8.3.25.

Краткий алгоритм действий:

  1. Проверьте текущую версию платформы. Если это 8.3.25.13xx, запланируйте обновление на 8.3.25.1394+.
  2. Если обновление невозможно, попросите пользователей установить масштаб формы 95%.
  3. В качестве альтернативы используйте веб-клиент или откат на платформу 8.3.23.
← На главную