Низкоуровневая отладка веб-клиента 1С

by Elisy 8. June 2013 22:42

Метод позволяет заглянуть внутрь веб-клиента 1С вплоть до исходных кодов и запустить отладку кода, написанного программистами 1С. Отладка JavaScriptпомогла разобраться с тем, какие преобразования делает 1С с html-кодом, помещенным в Поле HTMLдокумента.

Пожалуйста, не злоупотребляйте методом, так как согласно ГКРФ Статья 1280 декомпилирование допускается для достижения взаимодействия независимо разработанных программ. В нашем случае необходимо было разобраться с ключевыми словами v8config и непонятными автозаменами, которые происходят в html-макетах при помещении их в Поле HTMLдокумента.

1. ЗапускаемInternet Explorer 10 наWindows 7

2. Открываем URL к опубликованной информационной базе 1С.

3. Нажимаем F12 и открываем инструменты разработчика

4. Переходим на вкладку Сценарий и нажимаем «Начать Отладку»

5. Произойдет обновление страницы браузера и нужно снова ввести URLопубликованной базы 1С.

6. Устанавливаем точку останова в нужном месте кода. Для этого открываем все JavaScript файлы и ищем в них через Ctrl+Fнужную строку (в нашем случае “v8config” нашлась в файле Динамические Сценарии ->scriptblock (10)). Далее слева двойным кликом или через контекстное меню на строке ставим точку останова.

7. Создаем условия для срабатывания точки останова (в нашем случае нажимаем кнопку с присвоением полю HTMLтекста), срабатывает точка останова.

8. Можно смотреть локальные переменные в правом окне, пошагово выполнять команды, смотреть стек вызовов: делать все отладочные действия аналогично конфигуратору 1С.

Кому-то может показаться интересным, что удалось выяснить относительно Поле HTML документа. Сначала анализируется строка на входе. Если строка не содержит "<html", то принимается, что строка содержит URL и происходит переход по этомуURL. Если есть подстрока "<html" и присутствует подстрока "<base" с v8config, то происходит замена ссылок по определенному алгоритму. Обработка ведется на уровне замен подстрок через регулярные выражения, происходит анализ и замена только атрибутов src (этот атрибут соответствует скриптам и изображениям в html). В результирующем тексте тэг base удаляется.

Что дает это знание? Можно предположить, что в макетах можно хранить изображения и скрипты, которые будут распознаны в html «на лету» без дополнительной обработки. А вот подключать swf/xap-файлы также просто без дополнительных действий не получится. Случайно инициализация svg-файла содержит src-тэг, поэтому его инициализация пройдет по 1му пути. Еще нужно проверить эту догадку и удостовериться, что логика веб-клиента совпадает с логикой тонкого клиента.

Tags:

1C.Net | Internet

Add comment

  Country flag

biuquote
  • Comment
  • Preview
Loading

Richmedia.us

Добро пожаловать на сайт Richmedia.us

1 2 3 4 5 6 7 8

RecentComments

Comment RSS