Как настроить отладку мобильного приложения 1С:Предприятия, чтобы срабатывали точки останова?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

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

Общие принципы отладки мобильных приложений 1С

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

  1. Режимы отладки: Мы видим, что в 1С:Предприятии существуют два основных способа отладки мобильных приложений:
    • Через протокол HTTP: Этот режим используется, когда ваше мобильное приложение опубликовано на веб-сервере. Он позволяет отлаживать приложение удаленно, через сеть.
    • Через Android Debug Bridge (ADB): Этот режим применим для Android-устройств и используется, как правило, при непосредственном развертывании приложения, чаще всего через USB-подключение.
  2. Предметы отладки: Для полноценной отладки нам крайне важно разрешить автоматическое подключение всех необходимых предметов отладки. Это включает в себя:
    • Клиент (мобильное приложение)
    • Сервер (мобильное приложение)
    • При необходимости, если в вашем приложении используются фоновые процессы, также Фоновое задание (мобильное приложение). Мы убеждаемся, что все эти флаги активны в настройках отладки конфигуратора.
  3. Версия платформы: Мы всегда помним, что для корректной работы отладчика важно использовать актуальную версию платформы 1С. В предыдущих версиях могли присутствовать ошибки, препятствующие нормальной отладке. Например, существенные улучшения в механизме отладки, в том числе по HTTP, были внесены в версии 8.3.7.1759. Мы всегда проверяем, соответствует ли наша версия платформы рекомендуемым или минимальным требованиям для стабильной отладки.

Теперь давайте перейдем к подробному разбору каждого из методов отладки.

Отладка по протоколу HTTP (через веб-сервер)

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

1. Настройка публикации мобильного приложения на веб-сервере

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

  1. Переходим в меню Администрирование -> Публикация на веб-сервере.
  2. В окне публикации выбираем закладку Прочее.
  3. Мы обязательно устанавливаем флаг «Отладка разрешена». Без этой опции отладчик просто не сможет подключиться к вашему приложению.
  4. Мы указываем адрес отладчика. Обычно это IP-адрес вашего компьютера разработчика и порт, например, http://ваш_ip:8000. Важно, чтобы этот адрес был доступен с мобильного устройства.
  5. После внесения изменений, мы нажимаем «Опубликовать» и дожидаемся успешного завершения публикации.
  6. Нам также может потребоваться установить на мобильное устройство специальный мобильный клиент 1cem-client-arm.apk, а базу выгрузить через Администрирование -> Публикация на веб-сервере.
  7. Мы обязательно проверяем доступность опубликованной базы: открываем браузер на компьютере разработчика и вводим URL опубликованной базы. Должна загрузиться страница с XML-кодом. Это подтверждает, что веб-сервер работает и приложение доступно.

2. Настройка конфигуратора 1С для отладки по HTTP

После того как мы настроили публикацию, нам необходимо соответствующим образом сконфигурировать среду разработки:

  1. Открываем конфигуратор 1С.
  2. Переходим в меню Сервис -> Параметры.
  3. На закладке Отладка мы выбираем опцию «Отладка по протоколу HTTP».
  4. Далее, нам необходимо указать адрес локальной сетевой карты (IP-адрес вашего компьютера) и порт (например, 8000), на котором будет «слушать» отладчик. Убеждаемся, что этот порт не занят другими приложениями.
  5. Мы также заходим в меню Отладка -> Автоматическое подключение и выставляем все галочки, касающиеся клиентских и серверных приложений, а также фоновых заданий, как мы обсуждали ранее. Это гарантирует, что конфигуратор будет пытаться подключиться ко всем потенциальным источникам выполнения кода.

3. Настройка мобильного устройства для отладки

Теперь нам нужно дать мобильному приложению информацию о том, куда подключаться для отладки:

  1. Запускаем мобильное приложение на устройстве.
  2. В параметрах мобильного приложения на устройстве (обычно это доступно через меню или при первом запуске) нам нужно указать адрес сервера отладки.
  3. Этот адрес мы можем найти в конфигураторе: Отладка -> Настройка -> Сервер отладки. Мы копируем его и вставляем в настройки на мобильном устройстве.

4. Запуск и перезапуск отладки

После всех настроек мы можем инициировать процесс отладки:

  1. В конфигураторе устанавливаем точки останова в интересующих нас участках кода.
  2. Выбираем команду Мобильное приложение – начать отладку.
  3. Если для приложения указана опция «Перезапуск из конфигуратора», то мобильное приложение на устройстве будет автоматически обновляться с компьютера разработчика каждый раз, когда мы обновляем размещенный на веб-сервере XML файл конфигурации. При этом приложение перезапустится.
  4. Когда исполняемый код на мобильном устройстве дойдет до установленной точки останова, приложение остановится, и в конфигураторе мы сможем увидеть значения переменных, стек вызовов и другую полезную информацию.

Отладка через Android Debug Bridge (ADB)

Отладка через Android Debug Bridge (ADB) является альтернативным методом, особенно полезным при непосредственном развертывании приложения или при возникновении проблем с HTTP-отладкой. Мы рассмотрим, что необходимо для ее работы.

1. Предварительные условия для отладки через ADB

Для использования ADB нам потребуется подготовить нашу среду разработки и мобильное устройство:

  1. Установка Android SDK: Нам обязательно потребуется установить Android SDK, который обычно поставляется в комплекте с Android Studio. Мы убеждаемся, что все компоненты SDK установлены корректно.
  2. Настройка мобильного устройства: На мобильном устройстве нам нужно выполнить следующие шаги:
    • Включить «Режим разработчика». Обычно он активируется многократным нажатием (7-10 раз) на пункт «Номер сборки» (или аналогичный) в разделе «О телефоне» в настройках устройства.
    • После активации режима разработчика, мы находим и разрешаем опцию «Отладка по USB».
    • Мы подключаем мобильное устройство к компьютеру разработчика через USB-кабель. На устройстве может появиться запрос на разрешение отладки – мы его подтверждаем.

2. Настройка конфигуратора 1С для отладки через ADB

После подготовки устройства нам нужно указать конфигуратору, что мы хотим использовать ADB:

  1. Открываем конфигуратор 1С.
  2. Переходим в меню Сервис -> Параметры -> Запуск 1С:Предприятия -> Мобильные приложения.
  3. Мы устанавливаем флажок «Использовать Android Debug Bridge для запуска мобильных приложений».
  4. Мы указываем каталог Android SDK, который мы установили ранее. Конфигуратор будет использовать утилиты ADB из этого каталога.

3. Подключение и запуск через ADB

Отладка через ADB, как правило, проходит через USB-подключение к компьютеру. Для запуска мобильного приложения в режиме тестирования и отладки мы можем использовать команду ADB через командную строку. Например, такая команда позволит запустить мобильное приложение:


adb.exe shell am broadcast --user current -n " + ИдентификаторПриложения + "/com.e1c.mobile.Starter -a com.e1c.mobile.START_CMD -es cmd '/WS "+ АдресПубликации + " /TestClient'"

В этой команде мы заменяем ИдентификаторПриложения на фактический идентификатор вашего приложения и АдресПубликации на адрес публикации вашей базы. Эта команда инициирует запуск приложения и позволяет отладчику подключиться.

Особенности и возможные проблемы при отладке

Давайте теперь проанализируем некоторые распространенные проблемы и особенности, с которыми мы можем столкнуться в процессе отладки мобильных приложений 1С.

1. Несрабатывание точек останова

Это одна из самых частых проблем, с которой мы начинали наше обсуждение. Мы выясним основные причины и способы их устранения:

  1. Неверная установка или невыполняемый код: Мы всегда перепроверяем, что точка останова установлена на корректной строке кода, которая действительно будет выполняться. Иногда код может быть недостижим из-за условий, или точка останова установлена в месте, которое вызывается при других сценариях.
  2. Ошибка в коде приложения: Иногда, несмотря на все настройки, проблема может быть в самом коде приложения, который предотвращает его нормальное выполнение или подключение отладчика. Мы внимательно проверяем логи приложения на предмет ошибок.
  3. Неправильная конфигурация отладчика или 1С: Как мы уже рассмотрели, множество настроек влияют на отладку. Мы рекомендуем еще раз проверить корректность всех установок, перезапустить программу и конфигуратор. Иногда помогает просто повторное подключение.
  4. Работа с большими конфигурациями (например, 1С:ERP): В таких системах методы часто выносятся в фоновые задания. Мы обязательно убеждаемся, что включены флаги автоматического подключения отладки для всех типов предметов отладки, включая Фоновые задания (мобильное приложение).
  5. Особенности платформы: Некоторые пользователи сталкивались с тем, что отладка подключалась не с первого раза, что может быть связано с особенностями платформы, например, в версии 8.3.23. В таких случаях может потребоваться несколько попыток подключения или перезапуск процессов.

2. Отладка в эмуляторах

Отладка мобильных приложений 1С возможна не только на реальных устройствах, но и в эмуляторах Android, таких как Android Virtual Devices (из Android Studio) или BlueStacks. При этом мы выполняем аналогичные настройки для отладки по HTTP. Важный нюанс:

3. Отладка мобильного клиента с автономным режимом (начиная с версии 8.3.20)

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

4. Отладка iOS-приложений

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

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

← На главную