Вопрос о том, какой именно движок или браузер использует платформа 1С:Предприятие, часто вызывает путаницу у системных администраторов и разработчиков. Это не праздное любопытство, а критически важная техническая деталь, влияющая на корректность открытия внешних отчетов, работу с веб-сервисами и отображение HTML-документов внутри интерфейса программы. Понимание архитектуры взаимодействия 1С с веб-компонентами позволяет избежать множества ошибок при развертывании системы в современной инфраструктуре.
Исторически сложилось так, что платформа 1С тесно интегрирована с компонентами операционной системы Windows, которые отвечают за рендеринг веб-контента. Долгое время стандартом де-факто был движок Internet Explorer, встроенный в систему. Однако с выходом новых версий Windows 10 и 11, а также с постепенным отказом Microsoft от устаревших технологий, ситуация кардинально изменилась. Теперь администраторам приходится разбираться в тонкостях работы режимов совместимости и эмуляции.
В данной статье мы подробно разберем, какие именно браузерные движки задействует 1С в различных сценариях использования. Мы затронем вопросы настройки реестра, влияния групповых политик и особенностей работы в тонком и толстом клиентах. Вы узнаете, как принудительно переключить движок на более современный Chromium или настроить корректную работу устаревших скриптов через Edge в режиме эмуляции.
Архитектурная зависимость от компонентов Windows
Платформа 1С:Предприятие сама по себе не является браузером и не содержит собственного встроенного движка рендеринга HTML-страниц для всех задач. Вместо этого она обращается к системным библиотекам операционной системы. Чаще всего речь идет о компонентах WebBrowser, которые являются оберткой над движком Internet Explorer (Trident). Это означает, что качество отображения веб-страниц внутри формы 1С напрямую зависит от версии установленного в системе Internet Explorer и настроек безопасности Windows.
Когда разработчик создает форму с полем HTML-документ или использует метод ПоказатьHTML(), платформа инициирует вызов системного контрола. По умолчанию, без дополнительных настроек, этот контрол запускается в режиме совместимости, который может эмулировать очень старые версии браузера, например, IE7. Это часто приводит к тому, что современные сайты с использованием CSS3 и JavaScript ES6 отображаются некорректно или не работают вовсе.
⚠️ Внимание: Даже если на компьютере установлен современный Google Chrome или Яндекс.Браузер, внутренние формы 1С по умолчанию не используют их движки. Они обращаются исключительно к системному компоненту Trident, если явно не настроено иное.
Ситуация усугубляется тем, что Microsoft официально прекратила поддержку Internet Explorer в большинстве своих продуктов, заменив его на Microsoft Edge. Однако для обратной совместимости в Edge встроен режим IE Mode. Платформа 1С версии 8.3.13 и выше научилась взаимодействовать с этим режимом, но требует специфической настройки реестра или групповых политик для активации.
Для проверки текущего режима эмуляции можно использовать консоль разработчика внутри формы 1С, нажав F12, если это разрешено политиками безопасности. Там будет указана версия документа (Document Mode).
Настройка режима совместимости через реестр
Чтобы заставить 1С использовать более современный движок или конкретную версию Internet Explorer, необходимо внести изменения в системный реестр Windows. Это делается путем добавления ключей, которые указывают исполняемому файлу 1cv8.exe или 1cv8c.exe, какой режим рендеринга предпочесть. Без этой правки система может игнорировать современные стандарты верстки.
Процесс настройки выглядит следующим образом. Вам нужно перейти в ветку реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION. Если ключа FEATURE_BROWSER_EMULATION не существует, его необходимо создать. Внутри этого раздела создается параметр типа DWORD (32 бита), имя которого совпадает с именем исполняемого файла платформы 1С.
- 🔹 Для использования режима Edge (наиболее современный вариант) значение параметра должно быть
0(ноль) или11001в зависимости от конкретной сборки Windows и политики безопасности. - 🔹 Для эмуляции Internet Explorer 11 в стандартном режиме значение устанавливается в
11001(десятичное) или2AF9(шестнадцатеричное). - 🔹 Для эмуляции IE10 используется значение
10001, что может потребоваться для работы со старыми веб-сервисами, не поддерживающими новые стандарты. - 🔹 Значение
8888принудительно включает режим эмуляции IE8, что иногда необходимо для легаси-систем, написанных десять лет назад.
В 64-битных системах ключи для 32-битных приложений часто располагаются в ветке Wow6432Node. Поэтому администратору следует проверить обе ветки: HKLM\SOFTWARE.. и HKLM\SOFTWARE\Wow6432Node.., чтобы убедиться, что правило применено корректно для используемой битности платформы 1С:Предприятие.
☑️ Проверка настроек реестра
Использование внешнего браузера для отчетов и ссылок
В отличие от отображения HTML внутри форм, открытие внешних ссылок, гиперссылок в документах или запуск отчетов в браузере происходит иначе. Здесь 1С использует понятие браузера по умолчанию, установленного в операционной системе. Когда пользователь нажимает на ссылку в интерфейсе, платформа формирует системный вызов, который передает URL ассоциированному приложению.
Это означает, что если в Windows по умолчанию установлен Google Chrome, то все ссылки из 1С откроются именно в нем. Если пользователь предпочитает Yandex Browser или Firefox, достаточно изменить настройки ОС, и 1С автоматически подстроится под этот выбор. Никаких дополнительных настроек внутри самой конфигурации 1С для этого обычно не требуется, если только разработчик не переопределил это поведение программно.
| Сценарий использования | Используемый движок/Браузер | Зависимость от настроек |
|---|---|---|
| Поле "HTML-документ" в форме | System WebView (Trident/Edge) | Реестр Windows (FEATURE_BROWSER_EMULATION) |
| Метод ПоказатьHTML() | System WebView (Trident/Edge) | Реестр Windows и аргументы запуска |
| Открытие ссылки из гиперполя | Браузер по умолчанию в ОС | Настройки Windows (Приложения по умолчанию) |
| Веб-клиент 1С | Движок установленного браузера | Версия браузера пользователя (Chrome, Edge и т.д.) |
Однако существуют нюансы при работе с веб-клиентом. В этом случае 1С работает как веб-приложение, и весь рендеринг происходит силами браузера пользователя. Здесь критически важно, чтобы используемый браузер поддерживал современные стандарты JavaScript и имел актуальную версию. Устаревшие браузеры могут не открыть веб-клиент вовсе или работать с серьезными ограничениями.
⚠️ Внимание: При переходе на веб-клиент убедитесь, что все пользователи используют поддерживаемые версии браузеров. Список официально поддерживаемых браузеров регулярно обновляется фирмой "1С" и публикуется на портале ИТС.
Особенности работы в тонком и толстом клиентах
Различия в работе браузерного движка между тонким и толстым клиентом могут быть существенными, хотя базовая архитектура остается единой. Толстый клиент, который часто используется администраторами и разработчиками для отладки, имеет более прямой доступ к системным ресурсам и компонентам. Это позволяет ему легче взаимодействовать с устаревшими ActiveX-контролами, если таковые требуются для специфических задач интеграции.
Тонкий клиент, являющийся основным интерфейсом для конечных пользователей, более изолирован. Его работа с HTML-полями строго регламентирована политиками безопасности платформы. В последних версиях 1С (начиная с 8.3.20) наблюдается тенденция к полному отказу от старого движка Trident в пользу более современных решений, но этот процесс зависит от версии операционной системы.
Если вы разрабатываете внешние отчеты или обработки, которые генерируют HTML для просмотра внутри 1С, вам следует учитывать ограничения обоих клиентов. Код, написанный с использованием современных фреймворков типа React или Vue.js, может некорректно отображаться в толстом клиенте на старых ОС без настройки реестра. В то же время, веб-клиент легко "съест" такой код, если браузер пользователя актуален.
Почему толстый клиент иногда работает быстрее с HTML?
Толстый клиент может кэшировать некоторые ресурсы локально и имеет меньшие накладные расходы на передачу данных по сети по сравнению с веб-клиентом, который загружает всё заново при обновлении страницы.
Проблемы совместимости и методы их решения
Наиболее частой проблемой является ситуация, когда веб-страница внутри 1С отображается "сломанной": съезжает верстка, не работают кнопки, не загружаются шрифты. Это классический симптом работы в режиме эмуляции IE7 или IE8. Решение, как упоминалось выше, лежит в плоскости правки реестра, но иногда требуется более глубокий анализ.
Еще одна распространенная ошибка связана с сертификатами безопасности. Встроенный браузерный компонент использует хранилище сертификатов Windows. Если сайт, который пытается открыть 1С, использует самоподписанный сертификат или сертификат, не доверенный системой, соединение будет заблокировано. В обычном браузере пользователь может нажать "Продолжить", а в форме 1С он может просто увидеть белый экран или сообщение об ошибке без возможности исключения.
- 🛑 Ошибка "Не удается отобразить страницу" часто свидетельствует о блокировке контента антивирусом или брандмауэром, который не доверяет процессу
1cv8.exe. - 🛑 Проблемы с кодировкой (кракозябры вместо текста) возникают, если сервер не передает заголовок Content-Type с указанием кодировки UTF-8, а движок по умолчанию использует Windows-1251.
- 🛑 Отсутствие поддержки Cookies или Local Storage в старых режимах эмуляции может ломать авторизацию на внешних порталах, открываемых внутри 1С.
Для отладки таких ситуаций разработчикам рекомендуется использовать снифферы трафика (например, Fiddler или Wireshark), чтобы увидеть, какие именно запросы отправляет платформа и какие ответы получает. Это позволяет понять, является ли проблема на стороне клиента (движок не понял ответ) или на стороне сервера (сервер отдал неверный формат).
90% проблем с отображением HTML внутри 1С решаются установкой значения реестра FEATURE_BROWSER_EMULATION в 11001 или использованием внешнего браузера для просмотра сложных страниц.
Перспективы развития и переход на Chromium
Будущее браузерной подсистемы в 1С неразрывно связано с развитием технологии WebView2 на базе движка Chromium. Фирма "1С" активно движется в сторону замены устаревшего Trident на современный движок, который используется в Google Chrome и Microsoft Edge. Это позволит использовать всю мощь современных веб-технологий прямо внутри форм конфигурации.
Уже сейчас в некоторых экспериментальных режимах и новых версиях платформы можно наблюдать улучшения в работе с HTML5. Однако полный переход потребует времени, так как множество существующих конфигураций (особенно старых) завязаны на специфическое поведение Internet Explorer. Резкая смена движка может привести к массовому нарушению работоспособности программного кода, написанного 10-15 лет назад.
Администраторам следует мониторить обновления платформы. В будущих релизах ожидается появление явных настроек в интерфейсе самой 1С, позволяющих выбрать предпочитаемый движок без необходимости лезть в реестр. До тех пор ручная настройка через групповые политики (GPO) остается единственным надежным способом стандартизировать работу браузерного компонента в крупной организации.
⚠️ Внимание: Интерфейс и возможности платформы 1С могут изменяться в новых версиях. Всегда сверяйте актуальную информацию о поддерживаемых технологиях в официальной документации на сайте releases.1c.ru перед планированием миграции.
Часто задаваемые вопросы (FAQ)
Можно ли заставить 1С открывать страницы сразу в Google Chrome, а не внутри формы?
Да, это можно сделать программно. Вместо использования встроенного поля HTML-документа, разработчик может вызвать системную команду открытия файла или URL, которая активирует браузер по умолчанию. Также существует метод ЗапуститьПриложение, в который можно передать путь к исполняемому файлу Chrome и адрес страницы в качестве аргумента.
Почему после обновления Windows 10 перестали работать внутренние отчеты в 1С?
Обновления Windows часто сбрасывают или изменяют настройки безопасности и компоненты Internet Explorer. Возможно, был отключен необходимый протокол (например, TLS 1.2) или сброшены настройки зоны безопасности. Проверьте реестр на наличие ключа FEATURE_BROWSER_EMULATION и убедитесь, что он не был удален или изменен обновлением.
Влияет ли версия 1С на то, какой браузер используется?
Да, влияет. Более свежие версии платформы (8.3.18 и выше) имеют улучшенную поддержку современных стандартов и лучше взаимодействуют с режимом Edge (IE Mode). Старые версии (8.2 и ранние 8.3) жестко завязаны на старые версии Trident и практически не поддаются модернизации без обновления самой платформы.
Как проверить, какой именно режим эмуляции используется прямо сейчас?
Если в форме есть возможность вызвать консоль разработчика (обычно через контекстное меню или спец. комбинацию клавиш, если разрешено), там будет указан Document Mode. Также можно написать небольшую обработку, которая выводит версию пользовательского агента (User Agent) через HTTP-запрос к локальному скрипту или внешнему сервису, отражающему заголовки.