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

Программист IT и автоматизация бизнеса
← На главную

Разработка мобильных приложений на платформе 1С — процесс увлекательный, но часто омрачаемый техническими сложностями на этапе отладки. Ситуация, когда на эмуляторе все работает «из коробки», а реальный смартфон упорно отказывается соединяться с конфигуратором, знакома многим разработчикам. В этой статье мы подробно разберем, почему не работает отладка через USB или Wi-Fi, и пройдем по всем этапам настройки — от параметров ОС Android до конфигурации веб-сервера.

Понимание архитектуры отладки в 1С

Прежде чем приступать к настройкам, давайте разберем механизм взаимодействия. Когда мы запускаем отладку, мобильное приложение должно сообщить серверу отладки (который обычно запущен внутри вашего Конфигуратора) о своем существовании. Если вы используете протокол HTTP, мобильное устройство инициирует соединение. Основная проблема заключается в том, что смартфон и компьютер должны находиться в «видимости» друг друга, а маршруты передачи данных не должны блокироваться сетевыми экранами или особенностями маршрутизации адреса localhost.

Шаг 1. Подготовка мобильного устройства (Android)

Первым делом проанализируем настройки самого смартфона. Недостаточно просто подключить кабель; система Android имеет несколько уровней защиты.

  1. Режим разработчика: Убедимся, что он активен. Обычно это делается многократным нажатием на «Номер сборки» в настройках телефона.
  2. Отладка по USB: Этот флаг должен быть включен обязательно. Именно он позволяет утилите adb взаимодействовать с устройством.
  3. Специфические настройки оболочек: Если вы используете устройства Xiaomi (MIUI) или Meizu (Flyme), обратите внимание на пункт «Отладка по USB (Настройки безопасности)». Без включения этой опции 1С может не получить прав на управление сеансом отладки.
  4. Выбор приложения для отладки: В меню разработчика Android есть пункт «Выберите приложение для отладки». Попробуем указать там нашу мобильную платформу 1С.

Шаг 2. Проброс портов через ADB (Reverse Port Forwarding)

Это самый важный технический момент при отладке через USB, о котором часто забывают. Рассмотрим ситуацию: в настройках мобильного приложения вы указали адрес сервера отладки 127.0.0.1 или localhost. Для смартфона «локальный хост» — это он сам, а не ваш компьютер. Чтобы перенаправить запрос с порта смартфона на компьютер, выполним команду проброса портов.

Откроем командную строку (cmd) и перейдем в папку, где установлен Android SDK (обычно это platform-tools), затем выполним следующую команду:

adb reverse tcp:1561 tcp:1561

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

Шаг 3. Настройка Конфигуратора и публикация

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

Рассмотрим порядок действий в Конфигураторе:

  1. Зайдем в меню Сервис — Параметры.
  2. Перейдем на закладку Запуск 1С:Предприятия, далее выберем подвкладку Дополнительные.
  3. В поле «Имя информационной базы для отладки» укажем значение DefAlias. Это стандартный псевдоним, который используется мобильной платформой по умолчанию. Если ваша база опубликована под другим именем, укажите его.
  4. В разделе «Отладка» выберем «Использовать отладку по протоколу HTTP». В поле «Адрес сервера отладки» укажем IP-адрес вашего компьютера в локальной сети (например, 192.168.0.182) или localhost, если мы используем adb reverse.

Шаг 4. Настройка файла публикации default.vrd

Если отладка идет через веб-сервер (IIS или Apache), нам необходимо проверить файл публикации. Это критически важный момент, так как веб-сервер выступает посредником. Найдем файл default.vrd в каталоге публикации и проанализируем его содержимое. В нем должна присутствовать секция debug.

Пример корректной настройки в файле:

<debug enable="true" url="http://192.168.0.182:1561" />

Обратите внимание: атрибут enable="true" разрешает отладку, а url указывает, куда мобильное приложение должно отправлять отладочную информацию. Если эта строка отсутствует, веб-сервер будет блокировать попытки подключения отладчика.

Шаг 5. Сетевые экраны и профили сети Windows

Рассмотрим ситуацию, когда все настройки верны, но связи по-прежнему нет. Выясним, не блокирует ли Windows входящие соединения. Даже если вы выключили Брандмауэр, система может фильтровать трафик исходя из типа сети.

Проверим тип сетевого профиля: Параметры сети и Интернет — Состояние — Свойства. Если сеть определена как «Общедоступная» (Public), Windows применяет жесткие правила безопасности. Необходимо переключить профиль в режим «Частная» (Private). Это позволит устройствам в вашей локальной сети (смартфону и ПК) свободно обмениваться данными по портам 1560-1591, которые 1С использует для отладки.

Шаг 6. Использование автономного сервера отладки (dbgs)

Если стандартный отладчик, встроенный в Конфигуратор, работает нестабильно, мы можем запустить отдельный процесс сервера отладки. Он находится в папке bin вашей платформы и называется dbgs.exe.

Посмотрим, как его запустить вручную через командную строку для получения полного контроля над процессом:

dbgs.exe -http -port 1561

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

Шаг 7. Синхронизация версий

Напоследок разберем еще одну неочевидную причину — разрыв версий. Мобильная платформа 1С развивается очень быстро. Если вы используете на компьютере платформу версии 8.3.18, а на смартфоне установлена мобильная версия от 8.3.24, протоколы отладки могут быть несовместимы. Постарайтесь использовать максимально близкие версии основной и мобильной платформ.

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

← На главную