Отладка конфигураций на мобильной платформе

Программирование - Мобильные приложения

Настройка и подключение отладчика для отладки конфигураций на мобильной платформе.

Введение.

Я поделюсь решением задачи, с которой столкнулся совсем недавно, а именно отладкой кода, выполняемого на мобильной платформе. Это было мое первое знакомство с новом механизмом отладки, который впервые появился на платформе 8.3.7, а именно отладка через HTTP. Абзац, который был посвящен описанию того, как важен иснтрумент отладки при разработке конфигураций, я в итоге вырезал, поэтому перейдем сразу к делу.

Исходные данные:

Стациональная платформа 1C:Enterprise 8.3 (8.3.8.2054)

Мобильная платформа 8.3.9.66 (тестовая)

Windows Server 2012 R2 Standard + Apache 2.2

Android 6.0.1 (Sony Z5 compact)

Примечание. Для чистоты экспериментов я всегда рекомендую использовать чистый сервер со статичным внешним IP. Получить такой можно с помощью множества хостинговых площадок, которые за несколько минут и за сумму от 500р в месяц предоставят вам девственно чистый сервер, который идеально подойдет для тестов.

Шаг 1. Создадим простую конфигурацию для мобильной платформы.

Шаг 2. Создадим общую команду с простым кодом.

Шаг 3. Опубликуем мобильную конфигурацию на веб-сервере.

Примечание. Я исхожу из того, что у вас уже есть опыт публикации баз данных на веб-сервере 1С вообщем и мобильных конфигураций в частности и не описываю установку и настройку Apache и доступность портов.

Шаг 4. Установим параметры отладки Меню - Сервис - Параметры - Отладка. Перезапускаем конфигуратор.

Примечание. Протокол отладки устанавнимаем как "Отладка по протоколу HTTP". Сервер отладки как "Использовать локальный сервер отладки". Адрес локальной сетевой карты - указываете IP адрес сетевой карты вашего сервера. В качестве порта указываете любой не занятый порт.

Шаг 5. Проверим установленные параметры отладчика Меню - Отладка - Подключение - Настройка.

 

Шаг 6. Настроим автоматическое подключение отладчика Меню - Отладка - Подключение - Автоматическое подключение.

Шаг 7. Проверяем работу отладчика в браузере на локальном сервере (там же где и был запущен конфигуратор с отладчиком).

Шаг 8. Открываем порт (указанный нами на шаге 4) для внешнего доступа.

Шаг 9. Проверяем работу отладчика в браузере с другого компьютера.

Шаг 10. В мобильном приложении на смартфоне добавляем новую конфигурацию.

Шаг 11. В качестве сервера отладки указываем наш адрес отладки (шаг 5).

Шаг 12. Проверяем работоспособность нашей команды.

Шаг 13. Ставим точку останова и снова выполняем команду.

Надеюсь, подобная мини-инструкция поможет вам настроить отладку кода вашей мобильной конфигурации и облегчит жизнь при разработке приложения для мобильных устройств. С вопросами добро пожаловать в комментарии.

См. также

Комментарии
1. Капитан Немо (capitan) 612 26.09.16 10:20 Сейчас в теме
Получить такой можно с помощью множества хостинговых площадок, которые за несколько минут и за сумму от 500р в месяц предоставят вам девственно чистый сервер

Не в плане подкола, но поделитесь хотя бы одной ссылкой.
Я например хостинг подходящий для установки сервера 2012 R2 Standard даже не говоря об аренде ПО, знаю от 20 Е
2. Ildar Gabdrakhmanov (spezc) 473 26.09.16 14:09 Сейчас в теме
(1) capitan, у меня ultravds.com, самый дешевый 360р/мес с 1гб оперативы. только внимательно читайте условия. в случае пропуска оплаты сервер удаляется через 7 дней без возможности восстановления. я из-за этой херни данные довольно нужные потерял.
3. Капитан Немо (capitan) 612 26.09.16 15:02 Сейчас в теме
(2) да я просто не думал, что 2012 R2 даже на 2 гб стартанет )
4. Ildar Gabdrakhmanov (spezc) 473 26.09.16 18:21 Сейчас в теме
(3) capitan, стартанет) только не быстро)
у меня 1x3.5ГГц, 4Гб RAM, 20Гб SSD, 1IP за 1600р.
калькулятор показывает:
1x2.2ГГц, 1Гб RAM, 20Гб, 1IP - 360р
1x2.2ГГц, 2Гб RAM, 20Гб, 1IP - 540р
1x2.2ГГц, 4Гб RAM, 20Гб, 1IP - 900р
5. 33lab (33lab) 445 13.10.16 15:56 Сейчас в теме
Просто интересно - зачем закрашивать IP в картинках (в статье) если все в общих картинках они не закрашены ? ;)
6. Ildar Gabdrakhmanov (spezc) 473 15.10.16 14:33 Сейчас в теме
(5) 33lab, да потому что накосячил) надо заменить)
7. Sergey (Serdgio) 188 05.12.16 13:45 Сейчас в теме
Коллеги, отладка работает с реального устройства или только с эмулятора?
8. Ildar Gabdrakhmanov (spezc) 473 05.12.16 13:52 Сейчас в теме
(7) отлично работает с реальных айфонов и ведрофонов.
9. Sergey (Serdgio) 188 05.12.16 14:31 Сейчас в теме
только, если "айфон-ведрофон" в той же сети, что и сервер отладки?
Или это не имеет значения?
10. Ildar Gabdrakhmanov (spezc) 473 05.12.16 14:59 Сейчас в теме
11. Sergey (Serdgio) 188 05.12.16 15:17 Сейчас в теме
А на IIS есть удачный опыт? А то мы в тупике...
13. Ildar Gabdrakhmanov (spezc) 473 05.12.16 15:41 Сейчас в теме
(11) там отличий быть не должно
12. Sergey (Serdgio) 188 05.12.16 15:32 Сейчас в теме
И еще не подскажите, значок отладки в конфигураторе "подсвечивается", как только попадает на точку останова? До этого в доступных предметах отладки сеанс есть?
14. Ildar Gabdrakhmanov (spezc) 473 05.12.16 15:44 Сейчас в теме
(12) да, отладка не отличается от обычной десктопной.
Прикрепленные файлы:
15. Ildar Gabdrakhmanov (spezc) 473 05.12.16 15:45 Сейчас в теме
как минимум п.5-7 должны у вас работать без проблем.
16. Sergey (Serdgio) 188 05.12.16 15:51 Сейчас в теме
кажется, понял. У Вас же файловая база?
17. Ildar Gabdrakhmanov (spezc) 473 05.12.16 15:55 Сейчас в теме
(16) да, а какие могут быть различия?
18. Sergey (Serdgio) 188 05.12.16 16:04 Сейчас в теме
19. Sergey (Serdgio) 188 05.12.16 16:05 Сейчас в теме
ragent.exe -debug -http
И другая настройка отладки - использовать сервер отладки кластера
Это отсюда - http://v8.1c.ru/o7/201506debug/index.htm.
А еще пишут вот здесь http://v8.1c.ru/o7/201506debug/index.htm,
"Устройство должно быть в одной сети, доступ к серверу отладки по указаному порту должен быть с устройства.
Запуск надо делать через Отладка - Запуск мобильного клиента. "
20. Ildar Gabdrakhmanov (spezc) 473 05.12.16 16:18 Сейчас в теме
(19) ссылки одинаковые, можете повторить ту ссылку, где пишут, что устройство должно быть в одной сети?
И если все так сложно, не проще ли разработку мобильной конфигурации вести в файловой базе?
21. Sergey (Serdgio) 188 05.12.16 17:05 Сейчас в теме
1. http://www.forum.mista.ru/topic.php?id=760619.
Это Ditrix пишет.
2. Проще, если это все таки не в одной сети тоже работает
22. Sergey (Serdgio) 188 05.12.16 19:22 Сейчас в теме
Удалось добавиться небольшого прогресса.
При нажатии в конфигураторе - мобильное приложение - начать отладку - на мобильном появляется "загрузка".
Но отладка по-прежнему не работает.
Кнопка отладки не горит, на точках останова не останавливается.
23. Кирилл Мельников (Kirill Melnikov) 06.06.17 11:23 Сейчас в теме
Если у кого-то не взлетает отладка мобильного приложения через конфигуратор клиент-серверной базы - используйте имя базы DefAlias (это предопределенное имя файловой базы, коей по сути и является база на мобильном). Нахождение в одной сети, кстати, абсолютно не требуется
spezc; Adam12345678; +2 Ответить
24. Дмитрий Быков (Adam12345678) 3 30.08.17 21:25 Сейчас в теме
(23)
Если у кого-то не взлетает отладка мобильного приложения через конфигуратор клиент-серверной базы - используйте имя базы DefAlias (это предопределенное имя файловой базы, коей по сути и является база на мобильном). Нахождение в одной сети, кстати, абсолютно не требуется


Как считаете это баг или фича))? И почему 1с не фиксит такую бяку. Я очень много часов убил на изучение данной проблемы пока нашел ваш ответ, коллега. Огромное спасибо.
25. Кирилл Мельников (Kirill Melnikov) 31.08.17 09:57 Сейчас в теме
(24)
Не за что, рад помочь) Где-то в анналах документации у них прописана эта тема, так что это скорее фича, чем баг)
26. user user (inf012) 12.09.17 21:13 Сейчас в теме
Остановился на шаге 10.
Вопрос: где это окно добавления базы на мобильнике?
У меня стоит конфа (из апк файла), но если там я базу пытаюсь добавить - он просто делает копию базы.

Как добавить базу, чтобы можно было указать ip адрес?

Какую-то спец. платформу ставить на телефон или что?
27. user user (inf012) 12.09.17 21:26 Сейчас в теме
(26) Разобрался, надо на телефон установить моб.платформу
28. user user (inf012) 12.09.17 21:46 Сейчас в теме
Что-то при подключении по ай-пи выдало ошибку:
Неправильный формат конфигурации
по причине:
Ошибка разбора XML: - [1,52]
Фатальная ошибка:
Space required after the Public Identifier
SystemId: file:///data/data/com.e1c.mobile/files/1C/1cem/1cema.xml

Какой он пробел просит после публичного идентификатора?
Никто не знает, что за ошибка?

Платформа мобильная 8.3.10.51 На пк 8.3.10.2466 и 8.3.20.2505 - обе пробовал

Посмотрел здесь: https://forum.infostart.ru/forum92/topic144436/
Советы
1. В свойстве корня конфигурации "Назначение использования" (вроде :) ) нужно оставить флаг на "Мобильное устройство".
2. Потом в меню "Конфигурация" найти пункт "Проверка конфигурации". Установить флажки на проверку мобильного приложения (мобильное приложение клиент, мобильное приложение сервер, поиск неподдерживаемой функциональности и все в группе Логическая проверка модулей).
не помогли
29. user user (inf012) 13.09.17 19:50 Сейчас в теме
(28) Разобрался. Это была тестовая конфа, в ней не переименовал стандартное "Конфигурация" на английские буквы.
Теперь все работает.
Спасибо за статью!!
34. Александр Костев (user853472) 08.05.18 20:02 Сейчас в теме
(29) у меня та же ошибка

Что-то при подключении по ай-пи выдало ошибку:
Неправильный формат конфигурации
по причине:
Ошибка разбора XML: - [1,55]
Фатальная ошибка:
Space required after the Public Identifier
SystemId: file:///data/data/com.e1c.mobile/files/1C/1cem/1cema.xml

мобильная платформа 8.3.11.57, на пк 8.3.11.3034

пытаюсь запустить конфу "библиотека подключаемого оборудования для мобильной платформы"

ошибка получается на андроиде при загрузке базы...

помогите!
30. Дмитрий Деулин (dimasts) 24 18.01.18 03:39 Сейчас в теме
Не работает ни фига, всё перетыкал. В диспетчере приложений dbgs.exe --port=1550 и всё OWENPId нету. Приложение перезапускается из конфигуратора но точки останова не пашут. База на сервере IIS. Галки в параметрах все включил, использую отладку кластера. В реестре прописал -debug -http
31. Ildar Gabdrakhmanov (spezc) 473 18.01.18 08:56 Сейчас в теме
(30) попробуйте ultravds.com или подобное, создайте чистый сервер, установите 1С и апач и сделайте ровно по инструкции. С вероятность 99% должно все получиться. Потом на этом же сервере повторите с IIS. Ну а с такими двумя работающими вариантами у вас будет с чем сравнивать и легче искать проблему.
32. Дмитрий Деулин (dimasts) 24 18.01.18 10:52 Сейчас в теме
НЕ могу понять, почему в Подключенных параметрах отладки пусто? Отладка же из конфигуратора запускается и мобильник загружает конфигурацию.
33. Глеб Березовский (GlebBR) 21.03.18 00:02 Сейчас в теме
Оставьте свое сообщение