Почему мобильное приложение 1С на Android выдает ошибку работы с интернет и как это исправить?

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

При работе с мобильной платформой 1С на терминалах сбора данных (ТСД) или смартфонах под управлением Android системные администраторы и разработчики часто сталкиваются с сообщением «Ошибка работы с интернет: Не могу установить соединение». Особенность ситуации заключается в том, что внешне всё выглядит исправно: сеть Wi-Fi активна, а встроенный браузер устройства без проблем открывает страницу сервера. В данной статье мы подробно разберем, почему возникает эта ошибка, и проанализируем все возможные пути её решения — от простых опечаток до глубоких настроек безопасности операционной системы.

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

Рассмотрим самую распространенную причину, которая часто ускользает от внимания из-за своей простоты. Начнем с анализа настроек подключения непосредственно в мобильном приложении. Проанализируем ситуацию: если на нескольких устройствах приложение работает корректно, а на одном — нет, первым делом следует сравнить настройки подключения «символ в символ».

Выясним причину на конкретном примере. При ручном вводе IP-адреса, особенно после очистки кэша или переустановки приложения, легко допустить ошибку. Например, вместо корректного адреса 192.168.1.110 может быть введено 192.168.110 или пропущена точка. Разберем по шагам, что нужно проверить:

  1. Откроем настройки подключения в мобильном приложении 1С.
  2. Внимательно проверим поле «Адрес сервера». Обратите внимание на количество октетов (групп цифр) в IP-адресе — их должно быть четыре.
  3. Проверим наличие лишних пробелов в начале или конце строки адреса.
  4. Убедимся, что протокол (HTTP или HTTPS) соответствует настройкам вашего сервера Apache или IIS. Для настройки защищенного канала будет полезна публикация HTTP сервиса с использованием клиентского SSL сертификата.

Как показывает практика, именно невнимательность при вводе данных пользователем после «очистки данных приложения» становится причиной 90% подобных обращений. Однако, если адрес верный, перейдем к более сложным техническим аспектам.

Политика безопасности Android и разрешение незашифрованного трафика

Проанализируем технические ограничения современных версий Android (начиная с API 28 / Android 9.0 и выше). В этих версиях Google ввел жесткое ограничение на передачу данных в открытом виде (Cleartext Traffic). Если ваше мобильное приложение 1С пытается соединиться с сервером по протоколу HTTP, система может блокировать такие запросы на уровне ядра ОС, считая их небезопасными.

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


<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system" />
        </trust-anchors>
    </base-config>
</network-security-config>

Также важно убедиться, что в файле манифеста приложения AndroidManifest.xml присутствует ссылка на этот файл в атрибуте android:networkSecurityConfig. Без этой настройки мобильная платформа 1С может успешно запускаться, но любая попытка сетевого обмена будет приводить к ошибке соединения. Чтобы расширить стандартные возможности системы, можно использовать внешнюю компоненту Android tools, предоставляющую дополнительный инструментарий для работы с ОС.

Обновление компонента Android System WebView

Выясним роль компонента WebView в работе 1С. Мобильная платформа «1С:Предприятие» использует системный движок WebView для отрисовки интерфейса и выполнения некоторых сетевых функций. Если браузер Chrome на ТСД открывает страницу сервера, это еще не гарантирует, что WebView работает исправно, так как это разные (хоть и родственные) компоненты. Изучая пример использования HTML-интерфейса для мобильного приложения, можно увидеть, насколько глубоко WebView интегрирован в современные мобильные решения на базе 1С.

Рассмотрим алгоритм исправления:

  1. Зайдите в настройки ТСД, раздел «Приложения».
  2. Найдите в списке Android System WebView.
  3. Проверьте его версию. Если она значительно устарела, обновите её через Play Market или установите актуальный APK-файл вручную, если устройство не имеет доступа к сервисам Google.
  4. В некоторых случаях помогает «Удаление обновлений» WebView, если ошибка возникла после неудачного автоматического апдейта.

Энергосбережение и оптимизация Wi-Fi

Проанализируем специфику работы промышленных ТСД (Zebra, Honeywell и др.). Эти устройства спроектированы для экономии заряда батареи и могут агрессивно разрывать «неактивные», по мнению системы, соединения. Если мобильное приложение 1С уходит в фон или выполняет длительную обработку данных без сетевой активности, ОС может закрыть сокет.

Чтобы исключить влияние энергосбережения, выполним следующие действия:

Сетевые параметры: MTU, IPv6 и Прокси

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

  1. Размер пакета (MTU): Если в вашей Wi-Fi сети установлено низкое значение MTU, пакеты данных от 1С (которые могут быть объемными при выгрузке данных) могут отбрасываться без фрагментации. Попробуем снизить MTU на маршрутизаторе или в настройках интерфейса ТСД до 1400 или 1300 байт для теста.
  2. Протокол IPv6: Современные версии Android отдают приоритет IPv6. Если ваш сервер Apache настроен только на IPv4, может возникнуть конфликт таймаутов. Рекомендуется принудительно отключить IPv6 в настройках точки доступа APN на самом устройстве.
  3. Настройки прокси: Проанализируем настройки конкретного Wi-Fi соединения на проблемном ТСД. Часто бывает, что там по ошибке включен «Автоматический прокси» или указан адрес старого прокси-сервера. 1С будет пытаться следовать этим системным настройкам, в то время как браузер может их игнорировать.

Ограничения на стороне веб-сервера (Apache/IIS)

Напоследок разберем ситуацию, когда проблема может быть на стороне сервера, даже если «вчера всё работало». Если количество ТСД увеличилось, сервер Apache может достичь лимита одновременных подключений. При использовании браузерных технологий также полезно изучить опыт интеграции веб-клиента 1С с устройством Android, чтобы понимать, как устройство взаимодействует с сервером через веб-интерфейс.

Проанализируем файл конфигурации httpd.conf. Нам интересны параметры, отвечающие за удержание соединений. Посмотрим на пример настройки:


KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5

Если параметр MaxKeepAliveRequests слишком мал, а мобильное приложение часто обращается к серверу короткими запросами, сервер может начать сбрасывать новые попытки соединения. Увеличьте это значение и перезапустите службу Apache. Также проверьте логи ошибок Apache (error.log), чтобы увидеть, фиксирует ли сервер попытку подключения от IP-адреса проблемного ТСД. Если в логах тишина — значит, запрос от 1С не доходит до сервера вовсе, и проблему нужно искать в настройках сети или самого Android-устройства.

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

← На главную