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

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

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

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

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

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

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

Что понадобится перед началом отладки

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

Устройство и компьютер должны находиться в одной локальной сети — как правило, подключены к одной точке доступа Wi-Fi. Если устройство подключается через мобильный интернет или другую подсеть, прямое подключение к отладчику не сработает без дополнительной сетевой настройки (проброса портов или VPN), что выходит за рамки типового сценария.

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

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

Откройте конфигуратор с мобильной конфигурацией и перейдите в меню «Сервис → Параметры». На вкладке, отвечающей за отладку, проверьте протокол отладки: для мобильных приложений используется отладка по HTTP. Убедитесь, что указанный порт отладчика свободен и не занят другим приложением.

Далее включите приём подключений: меню «Отладка → Подключение» и настройка автоматического подключения. Рекомендуется включить автоматический поиск предметов отладки, чтобы при запуске мобильного приложения конфигуратор сам предложил подключиться. Также полезно заранее открыть окно подключения и оставить его активным на время тестирования.

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

Порядок настройки отладки
  1. 1
    Откройте конфигуратор, включите отладку по HTTP в параметрах и запомните порт отладчика
  2. 2
    Разрешите порт в брандмауэре компьютера
  3. 3
    Узнайте IP-адрес компьютера в локальной сети (команда ipconfig)
  4. 4
    На устройстве в настройках мобильного приложения включите режим отладки и укажите адрес компьютера с портом
  5. 5
    Перезапустите мобильное приложение
  6. 6
    В конфигураторе откройте «Отладка → Подключение» и выберите появившийся предмет отладки
  7. 7
    Установите точку останова и выполните в приложении действие, вызывающее нужный код

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

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

IP-адрес компьютера в Windows узнаётся командой ipconfig в командной строке — смотрите адрес IPv4 активного сетевого адаптера. Вводить нужно именно адрес локальной сети, а не внешний адрес, выданный провайдером.

Отладка на эмуляторе Android

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

Отладка на iOS

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

bash
ipconfig | findstr /i "IPv4"

Подключение к предмету отладки и работа с кодом

После перезапуска мобильного приложения с включённой отладкой откройте в конфигураторе «Отладка → Подключение». В списке предметов отладки должна появиться строка, соответствующая мобильному приложению. Выделите её и нажмите «Подключить» — с этого момента исполнение кода на устройстве контролируется конфигуратором.

Дальше работа идёт привычными инструментами: точки останова (F9), пошаговое выполнение, просмотр значений переменных через табло, стек вызовов, вычисление выражений. Учитывайте специфику мобильной платформы: часть объектов и методов, доступных в тонком клиенте, на мобильной платформе отсутствует, поэтому ошибки компиляции модулей могут проявляться только на устройстве.

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

Отладка фоновых задач и взаимодействия с сервером

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

Для диагностики сетевых проблем полезно временно добавить в код запись отправляемых и получаемых данных в журнал или вывод их в сообщения. Это позволяет отличить ошибку передачи данных от ошибки их обработки: если запрос до сервера не дошёл, проблема в сети или адресе, а не в коде.

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

Если предмет отладки не появляется в списке, в 80% случаев причина в сети: устройство в другой подсети, брандмауэр блокирует порт или указан не тот IP-адрес. Проверяйте связность простым ping с устройства на компьютер или через стороннюю сетевую утилиту, прежде чем пересматривать настройки конфигуратора.
ПЗ
Практическое замечание

Типичные ошибки и как их избежать

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

Вторая группа ошибок — сетевые: указан адрес localhost вместо реального IP компьютера, устройство подключено к гостевой Wi-Fi сети с изоляцией клиентов, порт отладчика занят или заблокирован. Гостевые сети часто запрещают трафик между подключёнными устройствами — используйте основную сеть.

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

Типичные ошибки
01
Указан localhost вместо IP компьютера — устройство ищет отладчик на самом себе и не подключается
02
Не обновлена конфигурация на устройстве после правок — точки останова не срабатывают
03
Брандмауэр блокирует порт отладчика — предмет отладки не появляется в списке
04
Устройство и компьютер в разных сетях или в гостевой сети с изоляцией клиентов
05
Расхождение версий платформы — подключение обрывается или не устанавливается

Проверка результата отладки

После завершения отладочного сеанса проверьте, что исправленный сценарий работает без подключённого отладчика: отключите режим отладки на устройстве, перезапустите приложение и повторите действия вручную. Код, работающий только под отладчиком, — признак того, что ошибка маскировалась остановками выполнения или замедлением работы.

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

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

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

Подключение предмета отладки
Норма

Приложение появляется в списке и подключается без ошибок

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

Список пуст или подключение обрывается — проверяйте сеть и порт

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

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

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

Точка не срабатывает — на устройстве старая версия конфигурации

Работа без отладчика
Норма

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

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

Ошибка возвращается — исправление неполное или зависит от режима отладки

FAQ

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

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

Почему точка останова не срабатывает, хотя отладка подключена?

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

Устройство не видит отладчик, хотя адрес указан верно. Что проверить?

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

Можно ли отлаживать приложение через интернет, если устройство в другой сети?

Штатный сценарий рассчитан на одну локальную сеть. Для удалённой отладки потребуется организовать сетевую доступность компьютера с конфигуратором (VPN или проброс портов), что снижает безопасность и требует аккуратной настройки. Для удалённой диагностики обычно достаточно логирования на устройстве.

Как отладить ошибку, которая возникает только у пользователя и не воспроизводится у разработчика?

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

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

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

Итог

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

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