К статье
Практический материал

Разработка и Конфигурация · 10 мин

Как отладить мобильное приложение 1С

Практическое руководство по отладке мобильного приложения 1С: подключение отладчика, отладка по HTTP, работа с эмулятором и устройством, типичные ошибки и их решение.

Отладка мобильного приложения 1С заметно отличается от привычной отладки в конфигураторе: код выполняется на устройстве или эмуляторе, а конфигуратор работает на компьютере разработчика. Чтобы увидеть точки останова, значения переменных и стек вызовов, нужно правильно настроить связку «мобильная платформа — отладчик», выбрать протокол подключения и учесть ограничения мобильной среды.

Основной сценарий выглядит так: вы собираете отладочную версию мобильного приложения или используете мобильную платформу разработчика, запускаете на ней конфигурацию, а конфигуратор подключается к запущенному экземпляру по сети. Дальше отладка идёт почти как обычно: точки останова, пошаговое выполнение, просмотр значений. Сложности возникают на этапе подключения — из-за сетевых настроек, несовпадения версий платформы и особенностей Android и iOS.

Ниже разобран полный цикл: подготовка инструментов, настройка отладки по HTTP, работа с эмулятором и реальным устройством, типовые проблемы и способы проверить, что отладка действительно работает.

Какие инструменты понадобятся для отладки

Минимальный набор: конфигуратор 1С на компьютере разработчика, мобильная платформа 1С (устанавливается на устройство или эмулятор) и сама мобильная конфигурация. Для Android удобно использовать Android SDK с эмулятором (AVD), для проверки на реальном устройстве — смартфон или планшет, подключённый к той же сети, что и компьютер.

Важно, чтобы версия мобильной платформы на устройстве совпадала с версией платформы, под которой собрана конфигурация. Расхождение версий — одна из самых частых причин того, что отладчик не подключается или приложение ведёт себя непредсказуемо. Проверьте версию в настройках мобильного приложения и в свойствах конфигурации.

Для сборки собственного мобильного приложения (а не только отладки на платформе разработчика) потребуется сборщик мобильных приложений 1С, а для iOS — компьютер с macOS и Xcode. На этапе отладки логики чаще достаточно мобильной платформы разработчика, куда конфигурация загружается напрямую в виде XML-выгрузки.

Как включить режим отладки на мобильном устройстве

Откройте настройки мобильной платформы на устройстве и включите режим отладки. В параметрах отладки укажите протокол HTTP и адрес, по которому мобильная платформа будет принимать подключения отладчика. После включения платформа начинает работать как сервер отладки и ждёт подключения конфигуратора.

На эмуляторе Android убедитесь, что виртуальное устройство имеет сетевой доступ к компьютеру. Эмулятор обычно видит хост-машину через специальный адрес внутренней сети; при проблемах с прямым адресом используйте проброс портов через ADB. На реальном устройстве и компьютер, и смартфон должны находиться в одной Wi-Fi сети, без изоляции клиентов на роутере.

Включение отладки на устройстве
  1. 1
    Установите мобильную платформу разработчика на устройство или эмулятор
  2. 2
    Загрузите в неё конфигурацию (XML-выгрузку из конфигуратора)
  3. 3
    Откройте настройки приложения и включите режим отладки по HTTP
  4. 4
    Запомните или задайте адрес и порт сервера отладки
  5. 5
    Перезапустите приложение, чтобы настройки применились

Настройка подключения в конфигураторе

В конфигураторе откройте настройки отладки (меню «Отладка» → «Подключение» или параметры отладки) и укажите, что отладка выполняется по протоколу HTTP. Затем в списке предметов отладки добавьте подключение к мобильному приложению: укажите адрес и порт сервера отладки, который показывает мобильная платформа.

После подключения в окне «Подключение» появится активный предмет отладки с типом «Мобильное приложение». С этого момента точки останова, расставленные в коде общих модулей и модулей, доступных на мобильной платформе, начнут срабатывать при выполнении соответствующего кода на устройстве.

Если предмет отладки не появляется, проверьте три вещи: доступность адреса с компьютера (например, ping или telnet до порта), совпадение версий платформы и то, что мобильное приложение действительно запущено и находится в режиме отладки. Брандмауэр Windows и антивирусы также могут блокировать исходящие подключения к нестандартным портам.

Отладка на эмуляторе и на реальном устройстве

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

Реальное устройство обязательно для проверки интеграций с аппаратурой, push-уведомлений, фоновых режимов и поведения при нестабильной сети. Для отладки по Wi-Fi убедитесь, что роутер не изолирует клиентов (функция AP Isolation должна быть выключена). Альтернатива — отладка через USB с пробросом портов через ADB для Android.

Эмулятор или устройство

Эмулятор Android

Быстрый цикл изменений, стабильная сеть. Не подходит для проверки камеры, сканера, GPS и реальной производительности.

Реальное устройство по Wi-Fi

Полная проверка оборудования и поведения. Требует общей сети без изоляции клиентов и устойчивого сигнала.

Устройство через USB и ADB

Надёжное соединение без зависимости от Wi-Fi. Требует включённой отладки по USB на устройстве и настройки проброса портов.

bash
adb forward tcp:1550 tcp:1550

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

Учитывайте контекст выполнения: часть кода мобильной конфигурации исполняется только на клиенте, серверных вызовов в мобильном приложении с автономным режимом может не быть вовсе. Точки останова ставьте в модулях, которые реально компилируются для мобильной платформы, — проверьте свойства модулей (флажки «Мобильное приложение — клиент/сервер»).

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

Для диагностики без точек останова используйте журнал регистрации мобильного приложения и вывод сообщений. На Android дополнительно помогает просмотр системного журнала через adb logcat — там видны падения платформы и ошибки, которые не доходят до встроенного языка.

Если точка останова не срабатывает, чаще всего модуль не скомпилирован для мобильной платформы или код выполняется в другом контексте, чем ожидалось. Проверьте флажки использования модуля и добавьте временный вывод сообщения в начало процедуры — это быстрее, чем долгая настройка подключения.
ПЗ
Практическое замечание

Типичные проблемы и их решение

Проблема «отладчик не подключается» почти всегда сводится к сети или версиям. Проверьте, что устройство и компьютер в одной подсети, порт не занят другим приложением, а версия мобильной платформы совпадает с версией конфигуратора. После смены версии платформы пересоберите и перезагрузите конфигурацию на устройство.

Вторая частая ситуация — приложение падает при запуске до того, как отладчик успевает подключиться. В этом случае смотрите логи устройства (logcat для Android) и упрощайте запуск: отключите автозапуск обменов и фоновых задач, чтобы локализовать место падения.

Типичные ошибки
01
Разные версии мобильной платформы и конфигуратора — отладчик не видит предмет отладки или падает с ошибкой протокола
02
Отладка через Wi-Fi с включённой изоляцией клиентов на роутере — устройства не видят друг друга
03
Точки останова в модулях без флажка использования на мобильной платформе — они никогда не сработают
04
Отладка на рабочих данных в открытой сети — риск утечки данных через порт отладки
05
Проверка сканера и камеры только на эмуляторе — на реальном устройстве поведение другое

Как проверить, что отладка работает

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

Дополнительно проверьте пошаговое выполнение (шаг с заходом, шаг через) и просмотр значений через табло. Если шаги работают, а значения отображаются корректно, можно переходить к отладке реальной задачи. Если точка срабатывает, но значения не читаются — чаще всего несовпадение версий платформы.

Контрольные точки

Как проверить результат

Предмет отладки в конфигураторе
Норма

В списке подключений видно мобильное приложение

Тревожный признак

Список пуст или подключение сразу разрывается

Срабатывание точки останова
Норма

Выполнение останавливается при действии на устройстве

Тревожный признак

Код выполняется, но отладчик молчит

Значения переменных
Норма

Табло и локальные переменные показывают реальные данные

Тревожный признак

Значения недоступны или отображаются ошибки чтения

Итог

Что важно запомнить

Отладка мобильного приложения 1С строится на связке «мобильная платформа в режиме отладки по HTTP — конфигуратор как клиент отладки». Совпадение версий, общая сеть и правильные флажки модулей решают большинство проблем. Эмулятор удобен для логики, реальное устройство обязательно для оборудования и финальной проверки.

Частые вопросы

Можно ли отладить мобильное приложение 1С без конфигуратора?

Полноценная пошаговая отладка возможна только через конфигуратор. Без него доступны косвенные методы: вывод сообщений, запись в журнал регистрации мобильного приложения и анализ системных логов устройства (logcat для Android). Этого хватает для диагностики падений, но не для просмотра значений переменных.

Почему отладчик не видит мобильное приложение в списке подключений?

Чаще всего причина в сети: устройство и компьютер в разных подсетях, роутер изолирует клиентов Wi-Fi или брандмауэр блокирует порт отладки. Также проверьте совпадение версий платформы и то, что режим отладки на устройстве действительно включён и приложение перезапущено.

Можно ли отлаживать приложение на iPhone?

Да, мобильная платформа для iOS поддерживает отладку по HTTP по тому же принципу, что и Android. Ограничения касаются сборки: для установки собственного приложения на iOS потребуется macOS, Xcode и сертификаты разработчика Apple. Для отладки логики часто проще использовать Android-эмулятор, а iOS проверять на финальном этапе.

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

Обмен обычно идёт через веб-сервисы или HTTP-сервисы основной базы. Отлаживайте две стороны раздельно: мобильную часть — через подключение к мобильной платформе, серверную — через отладку информационной базы, опубликовав сервисы на тестовом веб-сервере. Удобно работать в двух окнах конфигуратора одновременно.

Точка останова установлена, но не срабатывает. Что проверить?

Сначала убедитесь, что модуль скомпилирован для мобильной платформы (флажки в свойствах модуля). Затем проверьте, что на устройстве загружена актуальная версия конфигурации — после изменений её нужно перезагрузить. Наконец, убедитесь, что код действительно выполняется: добавьте временный вывод сообщения в начало процедуры.

Опасно ли оставлять режим отладки включённым?

Да, если устройство доступно из недоверенной сети. Порт отладки позволяет подключиться к приложению и получить доступ к данным базы. Включайте отладку только на время работы, в изолированной сети и на тестовых данных, а после завершения отключайте режим в настройках приложения.