При интеграции терминалов сбора данных (ТСД) в экосистему 1С специалисты часто сталкиваются с аппаратными и программными ограничениями устаревшего парка устройств. Типичная ситуация: имеется надежный, но возрастной ТСД Urovo i6200S под управлением Android 4.3, на который необходимо установить приложение «1С:Мобильная торговля» (разработка компании «РайтСкан»). Однако сразу после установки и запуска пользователь видит лишь экран загрузки, после чего приложение закрывается с критической ошибкой: «В приложении 1с:мобильная торговля произошла ошибка». Сброс настроек и переустановка разных версий зачастую не приносят результата.
В этой статье мы подробно разберем, почему возникают подобные сбои, проанализируем технические ограничения платформы и предложим пошаговый алгоритм решения проблемы для восстановления работоспособности ТСД.
Первым делом проанализируем системные требования. Хотя в манифесте приложения (AndroidManifest.xml) разработчиком может быть указан параметр minSdkVersion="16" (что соответствует Android 4.1), реальная эксплуатация на современных версиях платформы 1С диктует иные условия. Рассмотрим основные факторы нестабильности:
ScanService. Если мобильное приложение пытается инициализировать сканер через новый API, который не поддерживается вашей версией прошивки (например, ID86_P3...), приложение закроется с ошибкой обращения к памяти.Чтобы не гадать, почему происходит вылет, мы рекомендуем воспользоваться профессиональным инструментом диагностики. Рассмотрим, как снять логи с устройства в момент падения приложения. Для этого нам понадобится установленный Android SDK Platform-Tools на компьютере.
Подключите ТСД к компьютеру по USB, включите «Отладку по USB» в настройках разработчика и выполните в консоли следующую команду:
adb logcat *:E
Проанализируем вывод. Если в момент падения вы видите строки типа java.lang.NoClassDefFoundError или SSLHandshakeException, это подтверждает наши догадки о несовместимости библиотек или протоколов безопасности. Если же видна ошибка Native crash, проблема кроется в драйвере сканера или нехватке оперативной памяти.
Рассмотрим вариант решения через откат к более старым сборкам. Современные релизы «1С:Мобильная торговля» (версии 2.х и выше) ориентированы на Android 5.1 и выше. Для стабильной работы на Android 4.3 нам необходимо найти архивный APK-файл периода 2017–2018 годов.
Важный нюанс: при использовании старых версий приложения необходимо убедиться, что используемая вами конфигурация 1С на стороне сервера (например, «1С:Управление торговлей» или «1С:Розница») поддерживает обмен данными со старым форматом мобильного клиента.
Разберем ситуацию, когда вылет происходит из-за конфликта со сканером. На старых прошивках Urovo i6200S необходимо правильно настроить передачу данных. Выполним следующие действия:
Scanner Settings).Action Name соответствовал тому, который ожидает 1С (обычно это android.intent.ACTION_DECODE_DATA).Попробуйте временно отключить службу сканера и запустить приложение. Если оно перестало вылетать — причина в несовместимости версии ScanService и мобильной платформы.
Проанализируем номер вашей сборки: ID86_P3_00WE_YBXX_AU88_417_R_0_180131_02. Это достаточно ранняя версия. Для модели i6200S существуют обновления до Android 5.1, которые снимают большинство проблем с TLS и WebView. Однако стоит учитывать, что обновление ТСД такого класса часто невозможно выполнить «по воздуху» (OTA).
Рассмотрим порядок действий для обновления:
Recovery Mode или специализированную утилиту от производителя. Внимание: это может потребовать полной очистки данных.Если специфика работы позволяет, а обновить ОС на ТСД не представляется возможным, рассмотрим альтернативный путь. Вместо установки тяжелого мобильного приложения непосредственно на ТСД, можно использовать доступ к 1С через удаленный рабочий стол (RDP).
В этом случае на ТСД устанавливается легкий RDP-клиент, а вся логика выполняется на сервере. Для работы сканера в таком режиме потребуется утилита, пробрасывающая данные из порта сканера в RDP-сессию. Это полностью исключает проблему «падения» приложения из-за нехватки ресурсов Android 4.3.
Подводя итог, можно сказать, что решение проблемы вылета 1С на старых ТСД Urovo требует комплексного подхода. Мы рекомендуем начать с самого простого — поиска архивного APK-файла, который был выпущен во времена актуальности Android 4.3. Если это не помогает, единственным надежным программным способом остается обновление ОС устройства до версии 5.1 или переход на терминальный режим работы.
Помните, что стабильная работа мобильной платформы 1С версии 8.3.14 и выше на операционных системах ниже Android 5.0 официально не гарантируется, и любые попытки запуска являются «доброй волей» системного администратора и результатом глубокой настройки системы.