Администрирование · 9 мин
WebKit в 1С: с какой версии платформы он появился и что пришло ему на смену
Разбираем, с какой версии платформы 1С:Предприятие используется движок WebKit, когда его сменил Chromium (CEF) и как это влияет на HTML-поля и веб-клиент.
Вопрос «1С WebKit — с какой версии» возникает у разработчиков и администраторов, когда HTML-поля, веб-клиент или публикации информационных баз начинают вести себя по-разному на разных релизах платформы. Ответ зависит от того, что именно имеется в виду: движок отображения HTML в поле HTML-документа, движок веб-клиента или компонент, поставляемый вместе с платформой.
Коротко: движок WebKit впервые появился в составе платформы 1С:Предприятие 8.3 начиная с версии 8.3.6 — он использовался для отображения HTML-содержимого на Linux и macOS, а также в ряде сценариев на Windows как альтернатива Internet Explorer. Позже, начиная с версии 8.3.14, фирма «1С» перевела платформу на движок Chromium Embedded Framework (CEF), который постепенно вытеснил и WebKit, и привязку к Internet Explorer.
Ниже разберём, какие версии какие движки использовали, как проверить, какой движок работает у вас, и на что это влияет в прикладной разработке.
Какие движки отображения HTML использовались в 1С по версиям
Платформа 1С:Предприятие исторически прошла через три этапа в части отображения HTML. На ранних версиях 8.3 (и в 8.2) единственным движком был Internet Explorer через системный компонент WebBrowser — это создавало массу проблем: старые стандарты, разное поведение в зависимости от версии IE на машине пользователя, уязвимости.
Второй этап — появление WebKit в версии 8.3.6. На Linux и macOS, где Internet Explorer отсутствует, WebKit стал стандартным движком для поля HTML-документа. На Windows в ряде релизов можно было переключаться между IE и WebKit через настройки или параметры запуска.
Третий этап — переход на Chromium Embedded Framework начиная с версии 8.3.14. CEF — это тот же движок, что лежит в основе Google Chrome, поэтому современные релизы платформы корректно отображают современные веб-стандарты: HTML5, CSS3, актуальный JavaScript.
| Версия платформы | Движок HTML | Комментарий |
|---|---|---|
| 8.2 и ранние 8.3 (до 8.3.5) | Internet Explorer (WebBrowser) | Только Windows, зависимость от версии IE |
| 8.3.6 – 8.3.13 | WebKit (Linux, macOS), IE или WebKit (Windows) | Первое появление WebKit в платформе |
| 8.3.14 и новее | Chromium Embedded Framework (CEF) | Единый современный движок на всех ОС |
Как проверить, какой движок используется в вашей установке
Самый надёжный способ — вывести в поле HTML-документа тестовую страницу, которая показывает строку User-Agent браузерного движка. Для этого достаточно загрузить в поле HTML небольшой документ с JavaScript, выводящим navigator.userAgent, или открыть любой публичный сервис определения браузера.
По содержимому строки легко определить движок: упоминание «AppleWebKit» вместе с «Chrome» указывает на CEF, упоминание «MSIE» или «Trident» — на Internet Explorer, «AppleWebKit» без «Chrome» и с упоминанием 1C — на классический WebKit.
// Вывести User-Agent в поле HTML-документа
ПолеHTML = "<script>document.write(navigator.userAgent);</script>";Дополнительно можно посмотреть каталог установки платформы: в релизах с CEF рядом с исполняемыми файлами присутствуют библиотеки libcef.dll и сопутствующие ресурсы Chromium. Их наличие — признак того, что платформа работает на Chromium.
Что изменилось для разработчика при переходе с WebKit на Chromium
Переход на CEF принёс практические последствия. Во-первых, HTML-поля стали отображать современные сайты и сложные интерфейсы без «разваливания» вёрстки — то, что в WebKit и IE выглядело сломанным, в Chromium работает как в обычном браузере.
Во-вторых, изменились тонкости взаимодействия между встроенным языком 1С и JavaScript внутри HTML-поля. События ПриНажатии, ДокументСформирован и обмен данными через window.external в общих чертах сохранились, но отдельные нестандартные приёмы, рассчитанные на особенности WebKit или IE, могли перестать работать.
В-третьих, вырос объём дистрибутива и потребление памяти: CEF — полноценный браузерный движок, и каждый экземпляр HTML-поля требует заметно больше оперативной памяти, чем старый WebKit.
Как выбрать минимальную версию платформы под задачу
Если прикладное решение активно использует HTML-поля, карты, онлайн-виджеты или веб-интерфейсы внутри форм, минимально разумной целью является платформа 8.3.14 и новее — только там гарантирован современный движок. Работать с современными веб-сервисами на WebKit из 8.3.6–8.3.13 или на IE практически невозможно: многие сайты просто откажутся открываться.
Если база работает на старой платформе и обновление невозможно по политическим или техническим причинам, альтернативой может быть вынос HTML-отображения во внешний браузер пользователя через ЗапуститьПриложение() или ПерейтиПоНавигационнойСсылке() — тогда отображение не зависит от встроенного движка.
Как выбрать действие
Типичные проблемы и ошибки при работе с HTML-полями
Наиболее частая жалоба — «после обновления платформы HTML-поле перестало работать». Обычно причина в JavaScript, написанном под старый движок: устаревшие API, прямой доступ к объектной модели IE, нестандартные расширения WebKit. Решение — привести код к стандартному JavaScript, совместимому с Chrome.
Вторая группа проблем — безопасность. Современный CEF по умолчанию строже относится к смешанному контенту (HTTPS-страница с HTTP-ресурсами), локальным файлам и межсайтовым запросам. То, что WebKit молча показывал, Chromium может заблокировать.
Ограничения и риски при обновлении платформы
Обновление платформы ради нового движка — небезопасная операция сама по себе: меняется не только HTML-компонент, но и поведение встроенного языка, механизмов СКД, совместимости. Перед обновлением рабочей базы сделайте полную выгрузку и проверьте решение на тестовой копии.
Отдельный риск — сторонние внешние компоненты и расширения, которые встраивались в старый движок. После перехода на CEF они могут потребовать обновления от поставщика или полного отказа от них.
Проверка результата после смены версии
После перехода на релиз с CEF пройдите по всем формам, где есть поле HTML-документа, и проверьте: корректность отображения, работу обработчиков событий, печать, обмен данными между 1С и JavaScript. Убедитесь, что User-Agent показывает Chromium.
Как проверить результат
Содержит Chrome и AppleWebKit — работает CEF
Содержит MSIE или Trident — используется устаревший IE
Страница выглядит как в обычном Chrome
Сломанная вёрстка, неработающие скрипты
Документ печатается полностью и без искажений
Пустые страницы или обрезанный контент
FAQ
С какой версии 1С используется WebKit?
Движок WebKit появился в платформе 1С:Предприятие начиная с версии 8.3.6 — прежде всего для Linux и macOS, где Internet Explorer недоступен. На Windows в ряде релизов WebKit использовался как альтернатива IE.
А с какой версии 1С перешла на Chromium?
Переход на Chromium Embedded Framework начался с версии 8.3.14. В актуальных релизах CEF — основной движок отображения HTML на всех поддерживаемых операционных системах.
Как узнать, какой движок работает в моей базе?
Выведите в поле HTML-документа значение navigator.userAgent. Наличие в строке «Chrome» указывает на CEF, «MSIE» или «Trident» — на Internet Explorer, «AppleWebKit» без «Chrome» — на классический WebKit.
Почему HTML-поле сломалось после обновления платформы?
Чаще всего причина в JavaScript, написанном под старый движок (IE или WebKit), либо в блокировке смешанного контента — Chromium строже относится к HTTP-ресурсам на HTTPS-страницах и к устаревшим API.
Можно ли работать с современными сайтами на платформе 8.3.10?
Практически нет: WebKit тех версий и Internet Explorer не поддерживают современные веб-стандарты, и многие сайты откажутся открываться. Решение — обновить платформу до 8.3.14+ или открывать страницы во внешнем браузере пользователя.
Влияет ли движок на веб-клиент 1С?
Нет, веб-клиент работает в обычном браузере пользователя (Chrome, Firefox, Edge и др.) и не зависит от встроенного движка платформы. Движок WebKit/CEF относится к полю HTML-документа в тонком и толстом клиенте.
Что важно запомнить
WebKit появился в 1С с версии 8.3.6, а начиная с 8.3.14 его сменил Chromium (CEF). Для работы с современными веб-страницами внутри 1С нужна платформа 8.3.14 или новее; проверить движок можно через navigator.userAgent в поле HTML-документа.