Почему перестала работать прокрутка в веб-клиенте 1С после обновления Google Chrome до 61 версии и как это исправить?

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

Многие системные администраторы и пользователи веб-клиента «1С:Предприятие» столкнулись с неприятной ситуацией: после автоматического обновления браузера Google Chrome до версии 61 (и выше) в печатных формах и некоторых окнах системы полностью перестала работать прокрутка. Пользователь вращает колесико мыши или нажимает клавиши управления курсором, визуально полоса прокрутки (скроллбар) перемещается, но содержимое страницы остается неподвижным. Рассмотрим подробно, почему это произошло и как восстановить работоспособность системы.

Выясним техническую причину сбоя

Для того чтобы понять, как лечить проблему, проанализируем изменения в движке Chromium, на котором базируется Google Chrome. Начиная с версии 61, разработчики браузера внедрили обновленный стандарт CSSOM View Module. Основное изменение коснулось того, как браузер интерпретирует свойства scrollTop и scrollLeft для корневого элемента страницы.

До этого обновления для получения или установки позиции прокрутки программисты могли обращаться к объекту document.body. Однако новый стандарт предписал использовать для этих целей document.documentElement. В коде веб-клиента «1С:Предприятие» на тот момент использовался старый подход, ориентированный на document.body. В результате, когда пользователь пытался прокрутить страницу, браузер возвращал значение «0» или игнорировал команды скриптов 1С, так как «ждал» обращения к другому объекту. Это привело к рассинхронизации между визуальным элементом полосы прокрутки и фактическим отображением контента.

Проанализируем масштаб проблемы

Ошибка затронула не только Google Chrome. Поскольку на движке Chromium работают многие современные браузеры, аналогичные симптомы проявились в:

При этом в браузерах Mozilla Firefox и Internet Explorer проблема отсутствовала, так как они используют другие движки рендеринга или иначе интерпретируют стандарты CSSOM.

Официальное решение: обновление платформы

Компания 1С признала проблему и зарегистрировала её под номером 20171416. Единственным стабильным и долгосрочным решением является обновление технологической платформы «1С:Предприятие 8». Исправления были выпущены для всех актуальных на тот момент веток. Проверим минимально необходимые версии релизов, в которых прокрутка снова работает корректно:

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

Временные меры и обходные пути

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

1. Использование альтернативных браузеров

Как показывает практика обсуждений, самым быстрым способом продолжить работу является временный переход на Internet Explorer или Mozilla Firefox. В этих браузерах механизмы обработки событий прокрутки не менялись столь радикально, и веб-клиент 1С продолжает функционировать в штатном режиме.

2. Работа через тонкий клиент

Рекомендуем пользователям, у которых есть такая возможность, переключиться с веб-клиента на Тонкий клиент 1С. Тонкий клиент работает со своим собственным движком отрисовки и не зависит от обновлений сторонних браузеров, установленных в операционной системе.

3. Настройка флагов Chrome (для старых версий)

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

  1. Введите в адресной строке браузера chrome://flags.
  2. Найдите параметр Native scroll optimization.
  3. Переведите его в состояние Disabled.
  4. Перезапустите браузер.

Также в некоторых случаях помогало отключение параметра Scroll Anchoring. Это заставляло браузер использовать старые алгоритмы обработки прокрутки, которые были совместимы с кодом 1С.

Проблема с «белым листом» при печати

Посмотрим на сопутствующую проблему, которая часто шла в паре с отсутствием прокрутки в Chrome 61. При попытке вывести форму на печать пользователи видели пустой белый экран или зависшее окно предпросмотра. Это также следствие изменения обработки слоев (layering) в Chromium.

Выясним, как это лечилось: системные администраторы иногда использовали расширения типа User CSS, чтобы принудительно внедрить на страницу стиль overflow: auto !important; для контейнеров форм. Однако это «костыльное» решение, которое могло привести к артефактам в других частях интерфейса. Поэтому мы настоятельно рекомендуем не злоупотреблять стилями, а сосредоточиться на обновлении платформы.

Резюме по исправлению

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

  1. Регулярно отслеживать выход исправительных релизов (так называемых «технологических» обновлений) платформы 1С.
  2. В критически важных узлах использовать Тонкий клиент вместо веб-клиента.
  3. Отключить автоматическое обновление браузеров на рабочих местах, где работа в 1С через веб-интерфейс является критически важной, и производить обновления централизованно после тестирования.

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

← На главную