Как запустить 1С 8.3.24 на старых ТСД с Android 5.1: возможности, риски и альтернативы

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

Работа с парком устаревшего оборудования — это классический вызов для разработчика 1С. Когда перед нами стоит задача перевести складские терминалы сбора данных (ТСД) на базе Android 5.1 Lollipop на актуальную версию мобильной платформы 8.3.24, мы сталкиваемся не только с вопросом «запустится или нет», но и с целым комплексом скрытых технических проблем. В данной статье мы подробно проанализируем системные требования, разберем критические точки отказа и рассмотрим проверенные альтернативные методы организации работы.

Анализ совместимости: что говорят системные требования

Для начала проанализируем официальную документацию. Начиная с последних релизов мобильной платформы (8.3.24, 8.3.25), компания 1С устанавливает минимальный порог поддержки на уровне Android 5.0 (API 21). Поскольку Android 5.1 соответствует API 22, формально наши ТСД попадают в список поддерживаемых устройств. Однако здесь важно понимать разницу между «поддерживается» и «стабильно работает».

Рассмотрим уровни API подробнее:

  1. API 18–19 (Android 4.3–4.4): Современная платформа 8.3.24 здесь не запустится. Максимально возможная версия для таких устройств — 8.3.22, и то со значительными ограничениями.
  2. API 21–22 (Android 5.0–5.1): Это «красная зона». Платформа установится, но мы столкнемся с деградацией производительности и проблемами безопасности.
  3. API 23 и выше (Android 6.0+): Относительно стабильная работа для простых мобильных приложений.

Критическая проблема №1: Защищенные соединения TLS/SSL

Выясним причину, по которой «Мобильный клиент» часто не может соединиться с сервером на старых устройствах. Современные веб-серверы (IIS 10, Apache 2.4) по умолчанию требуют протоколы TLS 1.2 или TLS 1.3. В Android 5.1 поддержка TLS 1.2 присутствует, но она часто реализована некорректно на уровне системных библиотек или отключена по умолчанию в компонентах WebView.

Если ваша база опубликована по протоколу HTTPS, вы можете получить ошибку соединения без объяснения причин. Проанализируем возможные варианты решения:

Критическая проблема №2: Зависимость от Android System WebView

Интерфейс мобильного приложения 1С — это сложная структура, отрисовка которой во многом ложится на плечи системного компонента WebView. На Android 5.1 этот компонент зачастую «заморожен» в версии семилетней давности. Разберем, к чему это ведет:

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

Если на ТСД установлены Google Play Services, попробуем обновить Android System WebView через магазин приложений. Если же сервисов Google нет (что часто встречается на промышленных ТСД), мы окажемся заложниками прошивки производителя.

Производительность железа и оперативная память

Посмотрим на аппаратную часть ТСД 2015–2016 годов выпуска. Обычно это устройства с 1 ГБ или 2 ГБ оперативной памяти. Для «Мобильного клиента» 1С 8.3.24, который является фактически «тонким клиентом» внутри мобильной оболочки, этого критически мало. Проанализируем ситуацию: значительную часть памяти забирает сама ОС и кэш графики. В итоге на выполнение кода 1С остается 200–300 МБ, что приведет к постоянным вылетам приложения при попытке сформировать крупный отчет или открыть форму с большим количеством строк.

Интеграция со сканирующим модулем

Разберем ситуацию с драйверами. Современная Библиотека подключаемого оборудования (БПО) ориентирована на актуальные методы Android. Старые ТСД (например, Zebra MC36 или ранние модели Honeywell) могут требовать специфических драйверов, которые не обновлялись под новые требования 1С.

В таком случае нам придется отказаться от прямой интеграции и использовать механизм Intent (сканирование в «разрыв клавиатуры»). Рассмотрим пример логики, которую придется реализовать в конфигурации для обработки данных:


// Пример обработки внешнего события от сканера через Intent
Процедура ВнешнееСобытие(Источник, Событие, Данные)
    Если Источник = "СканерШтрихкода" Тогда
        // Обрабатываем полученный штрихкод
        ОбработатьШтрихкод(Данные);
    КонецЕсли;
КонецПроцедуры

Альтернативное решение: Использование Remote Desktop (RDP)

Проанализируем предложение из сообщений форума, которое часто оказывается самым жизнеспособным. Если парк устройств велик, а бюджет на обновление ограничен, использование RDP (удаленного рабочего стола) становится спасением.

Почему это выгодно для Android 5.1:

  1. Независимость от платформы: На ТСД устанавливается только RDP-клиент. Вся логика 1С выполняется на мощном сервере.
  2. Интерфейс: Для таких рабочих мест лучше разработать формы на Обычных формах (если версия платформы позволяет) или максимально упрощенные Управляемые формы, адаптированные под низкое разрешение экрана.
  3. Скорость: Отклик интерфейса через RDP на старом железе зачастую выше, чем работа тяжелого мобильного клиента.

Механизм обновления приложений

Автор темы выразил опасение по поводу ручного обновления каждого ТСД через APK-файлы. Разберем, как мы можем автоматизировать этот процесс в рамках мобильного клиента:

Сам мобильный клиент (оболочка) обновляется редко. Его достаточно установить один раз. Вся логика приложения (конфигурация) подтягивается с сервера автоматически при каждом подключении. Это позволяет вносить изменения в код конфигурации на стороне основного сервера 1С, и все ТСД получат их мгновенно без переустановки APK.

Однако, если сама версия платформы 8.3.24 потребует обновления до 8.3.25 или выше, нам придется столкнуться с риском: новые версии могут окончательно прекратить поддержку API 22. Посмотрим на функцию проверки версии в коде, которую можно добавить для контроля:


// Пример проверки версии системы для логирования
Информация = ИнформацияСистемы;
Если Информация.ВерсияОС < "5.0" Тогда
    Сообщить("Устройство не поддерживается! Требуется замена ТСД.");
КонецЕсли;

Итоговые рекомендации

Рассмотрев все за и против, примем взвешенное решение:

  1. Попробовать запуск можно: Платформа 8.3.24 технически запустится на Android 5.1.
  2. Готовьтесь к оптимизации: Вам придется максимально упростить формы, убрать лишние декорации, картинки и сложные динамические списки.
  3. Проверьте сеть: Убедитесь, что ваш веб-сервер готов принимать соединения от старых клиентов (настройка TLS).
  4. Рассмотрите RDP: Если мобильный клиент будет работать нестабильно (вылетать по памяти), переход на терминальный доступ станет единственным надежным решением, которое позволит использовать эти ТСД еще несколько лет.

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

← На главную