Мы сталкиваемся с распространенной проблемой, когда веб-клиент 1С:Предприятия не всегда корректно отображает элементы формы сразу после ее открытия. В частности, речь идет о ситуации, когда форма элемента справочника «Контрагенты» в конфигурации «Управление нашей фирмой» (редакция 1.6) на платформе 1С:Предприятие 8.3 (версия 8.3.19.1229) изначально выглядит пустой. Интересно, что элементы появляются только после изменения масштаба окна браузера или при установке специфических значений масштаба внутри платформы (например, 63% или 150%). Эта аномалия наблюдается в различных браузерах, таких как Chrome, Mozilla и Edge, при использовании веб-сервера Internet Information Services (IIS).
Давайте подробно проанализируем эту ситуацию и рассмотрим возможные пути решения, основываясь на опыте сообщества и технических особенностях работы веб-клиента 1С.
Первоочередно мы должны понимать, что подобные проблемы с отображением интерфейса в веб-клиенте часто являются результатом багов в самой платформе 1С:Предприятие. Ситуации, когда элементы формы не отображаются полностью или корректно, а возникают только после изменения размеров окна или масштаба, указывают на потенциальные ошибки в механизме отрисовки интерфейса веб-клиентом. Такие проблемы, как правило, устраняются разработчиками 1С в последующих версиях платформы.
Веб-клиент 1С активно использует стандартные возможности браузера, такие как CSS и динамическую верстку, для отрисовки элементов интерфейса. Например, командная панель формы полностью строится средствами браузера. Следовательно, любые несоответствия или ошибки в этой динамической верстке могут приводить к описанным проявлениям.
Первым и одним из наиболее простых шагов, который мы можем предпринять, является очистка сеансовых данных на сервере 1С:Предприятия. Иногда некорректно сохраненные или поврежденные данные сессий и кэш могут приводить к ошибкам отрисовки. Веб-клиент активно кэширует информацию для ускорения работы, и устаревшие или поврежденные данные кэша могут вызывать нежелательные побочные эффекты.
Мы можем выполнить очистку следующими способами:
После выполнения этих действий мы должны снова попробовать открыть форму элемента справочника «Контрагенты» и проверить, исчезла ли проблема.
Поскольку мы используем Internet Information Services (IIS) в качестве веб-сервера, необходимо тщательно проверить его настройки, так как они могут существенно влиять на работу веб-клиента 1С. Существует несколько известных проблем, связанных с конфигурацией IIS, которые могут вызывать некорректное отображение.
wsisapi.dll:
Мы должны убедиться, что разрядность модуля wsisapi.dll соответствует настройкам пула приложений в IIS. Если модуль был установлен с 32-битного клиента, а пул приложений настроен на 64-битный режим, это может привести к сбоям. Мы можем проверить и изменить этот параметр следующим образом:
wsisapi.dll 32-разрядный, а пул приложений работает в 64-битном режиме, установите этот параметр в True.После изменения настроек не забудьте перезапустить пул приложений.
web.config:
Нам необходимо убедиться, что разрешения NTFS для файла web.config, который находится в корневом каталоге опубликованной базы 1С, корректны и предоставляют достаточный доступ. Учетная запись компьютера веб-сервера (часто это IIS_IUSRS или IUSR) должна иметь права на чтение и выполнение для этого файла. Недостаточные права могут привести к ошибкам при загрузке конфигурации веб-клиентом.
Мы также должны проверить, установлен ли компонент "Расширяемость .NET" для веб-сервера. Для этого:
wsisapi.dll:
В некоторых случаях для корректного отображения иконок и других элементов в веб-клиенте на опубликованной базе через IIS требуется явное добавление сопоставления сценария для wsisapi.dll. Мы выполняем это следующим образом:
*.wsisapi.dll вашей платформы 1С (например, C:\Program Files\1cv8\8.3.19.1229\bin\wsisapi.dll).После выполнения этих настроек крайне важно перезапустить службу веб-сервера IIS для применения изменений.
Если после тщательной проверки и настройки IIS проблема с отображением элементов формы в веб-клиенте сохраняется, мы можем рассмотреть альтернативный подход – использование веб-сервера Apache вместо IIS. Это предложение, хоть и требует определенных усилий по настройке, может помочь нам исключить специфические для IIS проблемы, которые трудно диагностировать.
Установка и публикация базы 1С через Apache включает в себя:
mod_1c.so: Для работы 1С с Apache нам потребуется специальный модуль (аналог wsisapi.dll для IIS), который входит в состав дистрибутива платформы 1С:Предприятие. Мы копируем его в соответствующую папку модулей Apache.httpd.conf для подключения модуля mod_1c.so и настройки виртуального хоста или алиаса для публикации вашей информационной базы. Важно правильно указать путь к базе данных и настроить права доступа.Если проблема исчезнет при работе через Apache, это однозначно укажет на то, что причина крылась в специфической конфигурации или взаимодействии 1С с IIS.
Как уже упоминалось, проблемы с отрисовкой в веб-клиенте часто являются следствием внутренних ошибок платформы. Автор темы уже использует версию 8.3.19.1229, и, хотя это достаточно новая версия, в актуальных релизах платформы (на момент решения проблемы) могут быть исправлены ошибки, которые приводят к описанным симптомам. Обновление платформы 1С:Предприятие до самой последней стабильной версии, которая совместима с вашей конфигурацией и рабочим окружением, является одним из наиболее действенных способов решения подобных проблем.
Мы должны учитывать, что обновление платформы – это системное изменение, которое требует тщательного планирования и тестирования. Прежде чем выполнять обновление на рабочей среде, мы всегда рекомендуем:
Даже если обновление кажется нежелательным вариантом из-за трудоемкости или боязни новых проблем, часто оно является единственным окончательным решением для стабильной работы веб-клиента.
Помимо основных шагов, мы можем рассмотреть и другие факторы, которые могут влиять на отображение форм в веб-клиенте.
Хотя автор пробовал несколько браузеров, мы должны убедиться, что для работы с веб-клиентом 1С в них разрешены:
Для браузера Internet Explorer (хотя он менее актуален, но может использоваться в некоторых корпоративных средах) также важны настройки безопасности, такие как "Активные сценарии" и "Отображение разнородного содержимого" в зоне интрасети или надежных узлов.
Платформа 1С:Предприятие, начиная с версии 8.3.10, включает штатный механизм масштабирования форм. Эта функция позволяет пользователю самостоятельно настраивать масштаб отображения элементов. Команда "Изменить масштаб" обычно доступна в системных командах или в подменю "Вид" главного меню. Хотя в нашем случае изменение масштаба решает проблему, мы можем попробовать установить желаемый масштаб по умолчанию через эту функцию, чтобы избежать ручных манипуляций каждый раз.
ОбновитьОтображениеДанных():
Если бы речь шла о том, что изменения реквизитов формы, сделанные вне модуля этой формы, не отображаются элементами, мы бы рекомендовали вызвать метод ОбновитьОтображениеДанных(). Однако в нашем случае проблема касается первичного отображения формы, а не динамического обновления данных. Поэтому этот метод менее актуален для данной ситуации, но полезно помнить о его существовании для других сценариев.
Хотя автор упомянул отсутствие расширений, кроме тех, что нужны для работы с файлами 1С, иногда другие, казалось бы, безобидные расширения могут конфликтовать или влиять на процесс отрисовки веб-страниц. Мы можем попробовать запустить браузер в режиме инкогнито или с полностью отключенными расширениями, чтобы исключить их влияние.
Иногда проблема с "пустым" интерфейсом может возникать, если тонкий клиент или веб-клиент пытается открыть старую конфигурацию, разработанную на обычных формах, а не на управляемых. Однако, в нашем случае, конфигурация "Управление нашей фирмой" редакции 1.6 полностью использует управляемые формы, и веб-клиент предназначен именно для работы с ними. Поэтому данный фактор маловероятен.
Итак, мы рассмотрели комплексный подход к диагностике и устранению проблемы с отображением элементов формы в веб-клиенте 1С. Начиная от базовых проверок кэша и настроек браузеров, переходя к более глубокой настройке веб-сервера IIS и заканчивая обновлением платформы, мы можем последовательно выявить и решить причину некорректной работы. Мы рекомендуем начать с наиболее простых шагов и двигаться к более сложным, внимательно анализируя результат после каждого изменения.