Почему в Бит.Аренда перестала работать графика на схемах после обновления платформы 1С 8.3.16 и как это исправить?

Программист 1С v8.3 (Управляемые формы) Управленческий учет Сфера услуг, туризм и социальный сектор
← На главную

При обновлении технологической платформы 1С:Предприятие до релизов ветки 8.3.16 (например, 8.3.16.1030) пользователи отраслевого решения БИТ.Аренда часто сталкиваются с критической ошибкой: на графических планах этажей пропадает возможность выделять площади, кликать по объектам или просматривать интерактивные схемы. Визуально картинка может отображаться, но интерактивный функционал (обработка кликов, двойных щелчков, выделение цветом) полностью «отваливается».

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

Разберем причину: переход с Internet Explorer на WebKit

Первопричина кроется в глобальном изменении движка отображения HTML-документов в платформе 1С. Рассмотрим ситуацию глубже:

Проанализируем доступные способы решения проблемы в зависимости от ваших возможностей по обновлению конфигурации и требований ИТ-инфраструктуры.

Решение 1. Откат платформы до стабильной версии (Быстрый метод)

Как показывает практика и обсуждение специалистов, наиболее быстрым способом восстановить работоспособность старых релизов БИТ.Аренда (например, редакции 3.0.37.35 и ниже) является использование платформы, которая еще полноценно поддерживает старый движок рендеринга.

Опытным путем установлено, что функционал графических схем сохраняется на платформе не выше 8.3.14. Однако для максимальной стабильности рекомендуется использовать ветку 8.3.13 (например, релиз 8.3.13.1753). Если вы используете конфигурации, требующие более свежую платформу (например, новые релизы УТ 11 или БП 3.0), вам придется искать компромисс или использовать разные версии платформы для разных баз.

Решение 2. Обновление конфигурации БИТ.Аренда

Если ваша ИТ-стратегия требует использования актуальных версий платформы 1С (8.3.16, 8.3.20 и выше), единственным правильным решением будет обновление самой конфигурации БИТ.Аренда. Разработчики выпустили исправления, начиная с ветки 3.0.38.х.

В новых релизах графическое ядро было полностью переписано. Вместо использования специфических функций ActiveX, разработчики перешли на современные методы работы с SVG и HTML5, которые нативно поддерживаются движком WebKit в новых версиях 1С. Это обеспечивает стабильную работу графики в тонком клиенте на любой современной ОС.

Решение 3. Программная корректировка работы с HTML-полем

В некоторых случаях проблему можно частично обойти, изменив способ передачи данных в ПолеHTMLДокумента. Рассмотрим технический нюанс: в платформе 8.3.16 ужесточились правила безопасности (CORS) при загрузке локальных файлов в поле HTML.

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


// Пример записи текста виджета во временный файл для корректного отображения в WebKit
ИмяФайла = ПолучитьИмяВременногоФайла("html");

ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.УстановитьТекст(ТекстВиджета); // ТекстВиджета - ваш HTML/JS код
ТекстовыйДокумент.Записать(ИмяФайла, КодировкаТекста.UTF8);

// Присваиваем путь к файлу реквизиту формы, связанному с Полем HTML документа
Элементы.ПолеСхемы.Документ.location.href = ИмяФайла; 

ОбновитьОтображениеДанных();

Важный момент: Если графика использует внешние картинки (планы этажей в формате JPG/PNG), убедитесь, что пути к ним указаны корректно. В 8.3.16 рекомендуется использовать кодирование изображений в формат Base64 непосредственно внутри HTML-кода, чтобы избежать блокировок браузера по соображениям безопасности.

Рекомендации по диагностике

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

  1. Проверьте версию платформы: Убедитесь через меню «Справка — О программе», что установленная версия сервера и клиента совпадает.
  2. Режим совместимости: Посмотрите в свойствах конфигурации в конфигураторе, какой установлен «Режим совместимости». Если он ниже 8.3.14, платформа пытается эмулировать старое поведение, но в версии 8.3.16 эта эмуляция может работать некорректно для графических объектов.
  3. Очистка кэша: После смены платформы или обновления конфигурации обязательно очистите локальный кэш 1С на рабочих станциях пользователей, так как старые скрипты WebKit могут кэшироваться и вызывать ошибки выполнения JavaScript.

Проанализировав ситуацию, мы видим, что проблема носит фундаментальный характер и связана с развитием технологий 1С. Для долгосрочной стабильной работы рекомендуем планировать переход на современные релизы БИТ.Аренда, поддерживающие новый движок WebKit, так как возврат к старым версиям платформы (8.3.13) является лишь временной мерой, ограничивающей развитие остальной ИТ-системы предприятия.

← На главную