Перевод клиентских приложений для Windows на использование WebKit (оптимизация отображения HTML)

1C_ARENDA%20PROGRAMM_logo_v2_red.png

Цель нашей компании - предложение качественных локализованных ERP-решений и проектных услуг по внедрению управленческого, бухгалтерского и налогового учета

Элементы управления, использующие браузер

В платформе 1С:Предприятия существует несколько прикладных и системных элементов, работа которых в операционной системе Windows основывается на COM-объекте движка Internet Explorer. Это такие элементы как:

  • Справочная система;
  • Синтакс-помощник;
  • ПолеHTMLДокумента;
  • Планировщик;
  • Форматированный документ;
  • Редактор HTML документа.

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

Клиентские приложения, работающие под управлением операционных систем Linux и macOS, вместо COM-объекта Internet Explorer используют библиотеку WebKit. Это свободная кроссплатформенная библиотека с открытым исходным кодом. В результате DOM-модель HTML документа, полученная через свойство поля Документ (ПолеФормы.Документ), в этих клиентских приложениях может отличаться от аналогичной DOM-модели в клиентском приложении в операционной системе Windows. Это также усложняет разработку прикладной функциональности, работающей одинаково на разных операционных системах.

Преимущества перехода на WebKit

Перевод всех клиентских приложений на использование WebKit даёт следующие преимущества:

  • Одинаковое поведение в различных версиях Windows;
  • Максимально схожее поведение при работе в операционных системах, поддерживаемых 1С:Предприятием, так как используется одна и та же библиотека, хоть и разных версий;
  • Лучшая производительность в ряде сценариев работы;
  • Более стабильная и более быстрая работа форматированного документа;
  • Лучшая поддержка веб-стандартов;
  • При переходе на WebKit 1С исправила большое количество ошибок, которые невозможно было исправить при использовании Internet Explorer.

Реализация

Последний пункт предыдущего списка нужно пояснить подробнее. В отличие от Internet Explorer библиотека WebKit содержит открытый исходный код, поэтому 1С может самостоятельно исправлять какие-то её проблемы, если они возникают.

1С использует доработанную библиотеку WebKit, и поставляет её вместе с дистрибутивом платформы.

В первую очередь доработка потребовалась потому, что прикладные решения 1С:Предприятия могут работать под управлением операционной системы Windows XP, а стандартный WebKit её уже не поддерживает. 1С реализовала такую поддержку в нашей библиотеке WebKit.

Также открытый исходный код этой библиотеки даёт нам возможность разобраться в нюансах поведения и проблемах, а также самостоятельно поддерживать актуальность этой библиотеки в платформе 1С:Предприятия.

Влияние на существующую функциональность

В результате перехода на WebKit тип свойства Документ у поля, имеющего вид ПолеHTMLДокумента, изменится с COMОбъект на ВнешнийОбъект. Также изменится DOM модель документа, доступная через это свойство.

Если при разработке функциональности вы учитывали рекомендации для операционных систем Linux и macOS, то никаких проблем возникнуть не должно.

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

Вернуться к списку