Встроенный браузер в 1С. Можно и "Такси" внутри 8.2

28.02.24

Интеграция - WEB-интеграция

Скриптов много сделано в интернете для браузерных движков, а в 1С есть и ПолеHTML документа. Что все не так просто, понимает каждый, но в Windоws 7 уже по умолчанию Internet browser 10 и 11 в релизе. Значит, стоит копать. Идея первая - простой браузер.

Скачать файлы

Наименование Файл Версия Размер
Браузер в 1С (Webkit)
.epf 11,29Kb
25
.epf 2024 11,29Kb 25 Скачать
htmlbook.ru (Hack IE7)
.epf 9,35Kb
74
.epf 9,35Kb 74 Скачать
Браузер на технологии встроенного в Windows
.zip 7,33Mb
55
.zip 7,33Mb 55 Скачать

 

Доброго времени суток!

Впервые увидев ПолеHTML документа в обычном приложении, можно подумать, что это полноценный браузер в 1С. Что-то подсказывает, что нет.

 

Проверим, что нам напишет по поводу браузера простая проверка или, точнее, user agent (ИнформацияПрограммыПросмотра) в Windows:

  1. Локальная машина - Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
  2. Толстый клиент - Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)
  3. Тонкий клиент - Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)
  4. Web-клиент - Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)

Без комментариев, что-то третий пункт явно хромает.

Насчет пункта 4 тоже не стоит себя обольщать. В IE есть режим совместимости со старыми версиями. Так вот web-клиент 1С в IE работает только  в данном режиме (http://sikuda.ru/?p=168). Ахилесова пята 1С. Будем надеется, что в 8.4 дело сдвинется с мертвой точки.

Пробуем написать простой браузер для толстого клиента. И начнем тестировать. Введем  www.1c.ru и сразу получим ошибку стилей...(обычная копроративная система Win7x64, IE9). И воспроизвести ошибку в режиме ie7 не удасться, значит дело не в номере движка. Погуляем еще по сайтам и заметим что ошибки не так уж заменты. v8.1c.ru и Инфостарт не выдают ошибок...

Залезаем в документацию 1C толстого клиента: Описание объекта, в целом, определяется стандартом World Wide Web Consortium (W3C) Document Object Model (DOM) Level 1 (http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/) Но, объект имеет особенности, связанные с реализацией. ПолеHTMLДокумента реализовано с использованием WebBrowser Control http://msdn.microsoft.com/en-us/library/aa752040(VS.85).aspx Тип свойства документ соотвествует типу HTMLDocument http://msdn.microsoft.com/en-us/library/ms531073(VS.85).aspx. Вот где здесь точно собака порылась...

Кто любит аналоги с исходными кодами – отсылаю в примеры Qt: http://doc.qt.io/qt-5/activeqt-activeqt-webbrowser-example.html Или скачать прикрепленный файл готового архива.(см. прикрепленный )

 

Ошибки это плохо. Сделаем новую форму ФормаОбычнаяActivеX. И вставим туда ActiveX элемент Browser. Немного поколдуем с кнопками, что выглядело как в первоначальной форме. Запускаем www.1c.ru баз, опять ошибка. Нет ну так не пойдет. По логике интернет программирования, есть есть ошибка она просто что-то не делает, а не напрягает пользователя. Поэтому отыскиваем в нашем объекте свойство Silent и устанавливаем его в Истина. Ура! Момент истины, www.1c.ru открывается без ошибок. Поставим эту форму по умолчанию. И посмотрим на версию движка: "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)" - а он тот-же старый.

В бета версии 8.3 на Linux предварительно все хорошо. Но там сразу понятно, что это webkit (libwebkitgtk-1.0-0). Доработанность решений 1С с ним это я думаю процесс долгий.

Теперь займемся тонким клиентом. Здесь у нас есть только свойство Данные типа строка, типа текст страницы. Посмотрим как это сделано в типовых конфигурациях. Внутренние ссылки работают, а внешние вызываются по ПерейтиПоСсылке во внешнем браузере. Что это значит, это не облом, это философия такая.И разумное объяснение может упирается в безопасность и рабоспособность старого движка, а не разумное в маркетинг (Наш тонкий клиент круче чем все вэб-браузеры мира...). Но даже по безопасности видна явная дырка. Скрипты на странице работают, если их загрузить отдельно и даже если их загружать на странице стандартным способом.

Идея для браузера оказалось очень простой. Подсунем начальную страницу, которая автоматически перешлет нас на необходимый ресурс. Как это сделать? По стандартам прописать тэг на странице: META HTTP-EQUIV="REFRESH" CONTENT="0;URL=http://v8.1c.ru". Поле начинает жить своей жизнью. Я чуствую одним местом, что это очень плохо в плане безопасности. Но оставим этот вопрос в компетенции самой фирмы 1С. Я думаю после перехода на БП 3.0 вопрос может стать актуальным.

Работоспособная обработка выложена. Поставим начальную страницу моего бложика http://sikuda.ruСкачивайте и наслаждайтесь. Даже можно запустить демо 8.3 внутри тонкого клиента 8.2, просто зайдите внутри браузера на http://platform.demo.1c.ru/demo83/.

Добавим в поле HTML в режим совместимости с последней старой версией. Количество ошибок уменьшиться. <meta http-equiv='X-UA-Compatible' content='IE=11'> Но данный способ тоже не идеальный и не спасает от всех ошибок в барузере. В частности Infostart.ru

Так было ранее. Но впереди маячит версия 8.3.14 с webkit движком на борту. Надо его срочно добавить. Будем тестировать.

 

Проверено на следующих конфигурациях и релизах:

  • Управление торговлей, редакция 10.3, релизы 10.3.86.2
  • 1С:ERP Управление предприятием 2, релизы 2.5.9.106

См. также

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

Сайты и интернет-магазины WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме. Без существенных изменений типовой конфигурации. Проверено с брендами: Интеграция 1С и GEELY Интеграция 1С и HAVAL Интеграция 1С и KIA Интеграция 1С и FORD Интеграция 1С и LADA ГАРАНТИЯ 100% ВНЕДРЕНИЯ!

36000 руб.

03.08.2020    15655    9    17    

9

Модуль для обмена "1С:Предприятие 8. УАТ. ПРОФ" с FortMonitor

WEB-интеграция 8.3.8 Конфигурации 1cv8 Автомобили, автосервисы Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Расширение предназначено для конфигурации "1С:Предприятие 8. Управление Автотранспортом. ПРОФ". Функционал модуля: 1. Заполнение регистров сведений по подсистеме "Мониторинг", а именно: события по мониторингу, координаты по мониторингу, пробег и расход по мониторингу, текущее местоположение ТС по мониторингу 2. Заполнение путевого листа: пробег по мониторингу, время выезда/заезда, табличная часть ГСМ, места стоянок по геозонам. 3. Отчеты по данным загруженным в регистры сведений. 4. Предусмотрена автоматическая загрузка данных в фоновом режиме (условия работы данной загрузке читайте в описании товара) Модуль работает без включенной константы по настройкам мониторинга. Модуль формы предоставляется с открытым кодом, общий модуль защищен. Любой заинтересованный пользователь, имеет возможность скачать демо-версию расширения.

22656 руб.

25.05.2021    12809    30    8    

10

Интеграция 1С — Битрикс24. Обмен задачами

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс24. Разработка имеет двухстороннюю синхронизацию 1С и Битрикс24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (8.3.18.1289). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    17419    6    15    

13

[Расширение] БОР-Навигатор.Культура

Зарплата Бюджетный учет WEB-интеграция Обмен с ГосИС Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Расширение конфигурации, включающее в себя объекты, необходимые для подготовки и сдачи отчета "Штатная численность" системы "БОР-Навигатор.Культура" в программе "1С:Зарплата и кадры государственного учреждения", редакция 3.1.

8400 руб.

01.02.2019    25686    9    0    

7

Интеграция с сервисом vetmanager

WEB-интеграция Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    16253    41    49    

22
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Danil.Potapov 514 05.02.13 17:09 Сейчас в теме
для толстого и тонкого клиента есть возможность перевести работу компоненты без эмуляции IE7
http://blogs.msdn.com/b/ie/archive/2009/03/10/more-ie8-extensibility-improvements.aspx

у себя сделал 1cv8.exe 1f40 и 1cv8c.exe 1f40 в HKCU.
nick_krsk; ПерваяСистема; migele; Asdam; masenshi; vlad.frost; +6 1 Ответить
11. pfihr 374 11.11.13 12:58 Сейчас в теме
12. sikuda 673 12.11.13 10:05 Сейчас в теме
(1) По мне так плохо и IE7 и IE8.
(11) В IE10 1C 8.3.4 наконец-то стало (meta http-equiv="X-UA-Compatible" content="IE=edge")
Но у меня тонкий клиент выдает старый useragent и зеленый цвет в http://htmlbook.ru/content/khaki-dlya-ie7. В 1С так просто лучше отработано.
21. masenshi 04.02.15 04:17 Сейчас в теме
(1) naus, У меня такой процесс 1cv8t.exe
Реально теперь определяется как IE8
Также для версии RTM работает значение параметра dword 8888 (Hex: 0x22B8)
2. Yashazz 4707 06.02.13 11:35 Сейчас в теме
*торможу
А что в обработке-то? Обычное ПолеHTMLДокумента, или настоящий браузер типа IE9?
3. sikuda 673 06.02.13 12:19 Сейчас в теме
(2) Там внутри обычное ПолеHTMLДокумента(если надо пишите). Меня заинтересовал вопрос насколько работоспособный этот движок для собственных нужд. Если есть что интересное по этому - пишите.
7. Yashazz 4707 08.02.13 11:43 Сейчас в теме
(3) Уж не знаю, кем там он представляется, этот обёрнутый браузер, но судя по возможностям, это IE7 и не выше. Многие js-конструкции, появившиеся позже, он не поддерживает. Кроме того, что интересно: хотя в документации не рекомендуется использовать свойство parentWindow, оно везде нормально работает, где только доводилось, и не знаю, с чем связано это предупреждение.
4. TSSV 1143 06.02.13 13:04 Сейчас в теме
Интересна будет реализация для тонкого клиента.
5. Paul_NN 07.02.13 14:08 Сейчас в теме
Здравствуйте, результаты поиска в яндексе, открываются в ИЕ а не в окне 1С браузера. Можно поправить?
6. sikuda 673 07.02.13 14:47 Сейчас в теме
(5) Пока с тонким клиентом только начал заниматься...
А обычные формы у меня поиск в яндексе открывает(Win7 x64, IE9). Какая у Вас машина?
10. sikuda 673 23.08.13 11:09 Сейчас в теме
Доделал. В новой 8.3.3.687 сделал без серверных вызовов и развел реализация для ТонкогоКлиента и остальных.
(5) Понял, это фича браузерного движка 1С.
8. sikuda 673 13.02.13 11:25 Сейчас в теме
Заходите на сайт sikuda.ru. Комментируйте статью.
9. sikuda 673 06.06.13 10:24 Сейчас в теме
Сделал браузер как есть в тонком клиенте по просьбам трудящихся.
13. pfihr 374 13.11.13 10:28 Сейчас в теме
Не все так просто:) Как оказалось, во-первых, скрипты в HTML поле выполняются два раза, когда присваиваешь, и когда меняется отображение на форме. Во-вторых, в первый раз отображается нормальный useragent, а во второй - от IE7, но при этом сам рендер происходит от Edge (10 например).
14. sikuda 673 13.11.13 14:11 Сейчас в теме
(13) pfihr,
Инициализация два раза это факт.
У меня users agent одинаковый Mozilla/4.0 (compatible; MSIE 7.0...
Фразу "сам рендер происходит от Edge" не понял. Скорее всего 1С пользуется движком встроенным с Windows. То есть установленным IE. Но принудительно его переводит в совместимость IE7, так как ее компоненты пока не отработаны для других режимов.
15. pfihr 374 18.11.13 10:32 Сейчас в теме
А вот скрипт GRaphael запускается только один раз! Надо поэкспериментировать, возможно, второй раз запускаются только каким-то особым образом составленные скрипты, или составленные без использования чего-то.
17. Serg3141 11 30.07.14 11:04 Сейчас в теме
при открытии обработки браузера у меня выходит такая вот ошибка:
{Форма.ФормаОбычнаяActivеX.Форма( 16)}: Поле объекта не обнаружено (ИнтернетСтраница)
ЭлементыФормы.ИнтернетСтраница.Navigate(ОбработкаОбъект.АдресСтраницы);

Запустил в управляемом режиме - при открытии страницы по какой-нибудь ссылке параллельно окну обработки открывается окно с браузером...
18. sikuda 673 31.07.14 17:46 Сейчас в теме
(17) Serg3141,
по поводу первой ошибки ничего не скажу, не получал.
По поводу второй. Думаю лучше произвольные сайты открывать во внешнем браузер, но текущую ошибку в своей обработке исправил. Сейчас открыват без дополнительного окна.
19. dr_dom 56 12.09.14 12:52 Сейчас в теме
Управляемая форма. Нужно в открывшейся страничке немного подправить HTML код. Как его получить? Спасибо.
20. sikuda 673 12.09.14 15:51 Сейчас в теме
(19) dr_dom, К сожалею здесь мы не получаем код html, мы делаем перенаправление на другую страницу. Чтобы именно получить код используйте простой метод GET (HTTPСоединение.Получить или подобное)
22. sikuda 673 13.03.15 16:09 Сейчас в теме
Поправил ошибки с открытием дополнительного окна браузераю. Проверил в режиме толстого клиента управляемого приложения. Убрал работу в web клиенте(зачем браузер в браузере). Проверил в 8.3.6.1823.
23. Serj1C 483 25.11.15 15:32 Сейчас в теме
Плюс за решение ms web browser + silent
24. ПерваяСистема 175 09.04.16 18:51 Сейчас в теме
Не подскажите, почему у меня на одном компе яваскприпт в этой обработке работает,, а на другом - нет. В Интернет эксплорере JS работает
25. sikuda 673 10.04.16 14:24 Сейчас в теме
(24) ПерваяСистема, А какой сайт вы открываете, какие версии IE стоят у Вас на компьютере?
26. Vladimir_Konyrev 255 10.05.16 11:01 Сейчас в теме
А для чего файл:

htmlbook.ru (Hack IE7) ?
27. sikuda 673 10.05.16 12:18 Сейчас в теме
(26) Vladimir_Konyrev, Проверить что движок IE7 без установки совместимости
29. sikuda 673 01.01.19 18:15 Сейчас в теме
(26) Проверка движка на характерную черту IE7
28. BorisM 18.01.17 12:18 Сейчас в теме
Коллеги, добрый день! Подскажите, пожалуйста, как решить проблему. Есть программа УТАП 10.3 (разработчик КТ-Алкоголь), работает под 8.2 (8.2.19.130). После установки Win 10 при обращении к ссылкам в справке, или работе форм с HTML, программа стала валиться с ошибкой: Имя сбойного приложения: 1cv8.exe, версия: 8.2.19.130, Имя сбойного модуля: ieframe.dll, версия: 11.0.14393.576.
После переключения запуска программы под 8.3 эта ошибка уходит. Но возникает проблема уже с УТАП, который выдает ошибку при запуске под 8.3. Можно ли как-то решить проблему совмещения 8.2 и Win 10?
30. webresurs 204 29.01.19 12:25 Сейчас в теме
- о здорово... есть обновление....

- подскажите как сделать запуск обработки через встроенный прокси 1с ?
31. VslavKup 30 17.01.24 14:10 Сейчас в теме
По какой то причине по кнопке "Обновить" не происходит обновление страницы.
32. sikuda 673 17.01.24 16:06 Сейчас в теме
(31) А какая версия 1С. Проверил 8.3.23.1997 Webkit 1C задумывается но делает. Пока он не показывает url - пытается грузить страницу...
33. VslavKup 30 17.01.24 17:18 Сейчас в теме
(32) Проверял на версии 8.3.22.2411.
34. VslavKup 30 17.01.24 17:24 Сейчас в теме
(32) Не указал, что использую обработку "Браузер в 1С".
35. sikuda 673 18.01.24 00:36 Сейчас в теме
(34) Какой адрес тестируешь? Движок в 1С слабый может не вытягивать, например bitrix24...
36. VslavKup 30 18.01.24 15:02 Сейчас в теме
На локальном компьютере сайт. При отключении сайта браузер 1с по кнопке "Обновить" отображает содержимое, ранее прочитанное.
Оставьте свое сообщение