При работе в конфигураторе или в режиме предприятия старых версий платформы 1С (в частности, 1С 8.2 и ранних релизов 8.3) под управлением операционной системы Windows 10 разработчики часто сталкиваются с аварийным закрытием программы. Приложение аварийно завершает работу при вызове синтаксис-помощника, встроенной справки или при наведении курсора мыши на интерактивные элементы описания функций. Разберем причины такого поведения платформы и рассмотрим практические способы решения проблемы.
Выясним причину сбоя. Встроенная справочная система и синтаксис-помощник платформы 1С 8.2 используют для отображения форматированного текста системный компонент рендеринга HTML — элемент ActiveX на базе системной библиотеки mshtml.dll (движок браузера Internet Explorer).
В операционной системе Windows 10 механизмы безопасности, стек вызовов и логика обработки событий курсора (в частности, события наведения и всплывающие подсказки DOM-дерева) в библиотеке mshtml.dll были существенно переработаны. При попытке устаревшего исполняемого файла 1cv8.exe обработать эти системные события возникает ошибка нарушения прав доступа к памяти (Access Violation, код исключения 0xC0000005), что приводит к моментальному падению процесса без вывода понятных сообщений об ошибке.
Официально полная совместимость с обновленными компонентами Windows 10 была реализована только начиная с релизов технологической платформы 1С:Предприятие 8.3.10 (в версиях 8.3.6–8.3.8 проблема также проявлялась частично или полностью). Если обновить рабочую базу на платформу 8.3 нет возможности, разберем альтернативные варианты решения задачи.
Проанализируем первый и самый простой шаг — включение встроенного механизма совместимости Windows:
C:\Program Files (x86)\1cv82\8.2.19.xxx\bin).1cv8.exe, нажмем по нему правой кнопкой мыши и выберем пункт «Свойства».Чтобы заставить компонент mshtml.dll работать в режиме совместимости со старыми стандартами отображения, настроим ключи эмуляции браузера для исполняемых файлов 1С:
regedit и нажмем Enter.HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
1cv8.exe.1F40 (что соответствует десятичному значению 8000 — режим Internet Explorer 8) либо 1B58 (десятичное 7000 — режим Internet Explorer 7).1cv8c.exe для корректной работы тонкого клиента.HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
Конфликты при рендеринге страниц справки могут быть связаны с графическим ускорением. Выполним корректировку системных параметров:
inetcpl.cpl и нажмем Enter (откроется окно «Свойства: Интернет»).Если параметры реестра не дают стабильного результата в вашей сборке Windows 10, рассмотрим надежные организационные решения: