Как обновить платформу 1С на устройстве Android: подробное руководство по автоматизации и ручным способам

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

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

Различие между обновлением конфигурации и платформы

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

  1. Использование стандартного приложения «1С:Предприятие»: Пользователь скачивает общую платформу, в которую затем добавляется адрес информационной базы. В этом случае обновление платформы — это обновление отдельного стороннего приложения.
  2. Сборка собственного APK (Тиражируемое решение): С помощью «Сборщика мобильных приложений» вы создаете индивидуальный файл, где платформа и конфигурация объединены. Здесь обновление платформы происходит одновременно с обновлением вашего приложения.

В данной статье мы сосредоточимся на наиболее сложном сценарии — когда необходимо обновить именно саму платформу на множестве удаленных устройств.

Метод 1: Использование магазинов приложений (Google Play, RuStore)

Это самый простой и рекомендуемый способ для массового сегмента. Рассмотрим подробнее, как это работает. Если ваше приложение опубликовано в Google Play или RuStore, операционная система Android сама отследит появление новой версии и предложит пользователю обновиться (или сделает это автоматически в фоновом режиме).

Однако этот метод имеет свои ограничения:

Метод 2: Использование специализированных MDM-систем

Для корпоративного сектора, где количество устройств (ТСД или смартфонов у «манагеров в полях») исчисляется десятками и сотнями, наиболее эффективным решением будет использование систем управления мобильными устройствами (Mobile Device Management). Рассмотрим, как это реализовано на примере решений от Zebra или универсальных систем типа SOTI MobiControl или SafePhone.

Проанализируем возможности MDM:

Это профессиональный путь, который требует дополнительных затрат на ПО, но полностью снимает проблему «тупящих пользователей».

Метод 3: Программное обновление из кода мобильного приложения

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

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

1. При запуске системы проверяем текущую версию платформы через объект ИнформацияСистемы. Выясним причину несоответствия версий и, если версия устарела, инициируем процесс обновления.


// Пример проверки версии платформы
Инфо = Новый ИнформацияСистемы;
ТекущаяВерсия = Инфо.ВерсияПриложения;
НужнаяВерсия = "8.3.24.15"; // Берем из константы

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

2. Процедура ОбновитьПлатформу должна сохранить файл APK во временное хранилище устройства и вызвать системную команду установки. Для этого используем метод ЗапуститьПриложение.

Важный нюанс: Начиная с Android 10 и выше, механизмы безопасности запрещают приложениям просто так запускать установку файлов. Проанализируем, что нужно учесть:


// Пример вызова установки через ЗапуститьПриложение
ПутьКФайлу = "file:///sdcard/Download/1c_platform.apk"; 
ЗапуститьПриложение(ПутьКФайлу);

Метод 4: Использование ADB и локальной сети (для складов)

Если ваши устройства (например, терминалы сбора данных) находятся в одной локальной сети (Wi-Fi склада), мы можем рассмотреть вариант обновления через ADB (Android Debug Bridge). Это позволяет системному администратору обновить все устройства, не заходя в каждое из них.

Разберем алгоритм действий:

  1. На устройствах должен быть включен «Режим разработчика» и «Отладка по USB/Wi-Fi».
  2. На компьютере администратора запускается скрипт, который перебирает IP-адреса устройств.
  3. Выполняется команда установки: adb install -r platform.apk. Параметр -r крайне важен, так как он означает «reinstall» (переустановка с сохранением данных базы).

Рекомендации по сохранению данных

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

Поэтому правило номер один: Никогда не удаляйте старую платформу перед установкой новой. Используйте только режим обновления (накатывания) файла APK поверх существующего приложения.

Заключение

Мы рассмотрели различные подходы к обновлению мобильной платформы 1С на Android. Выбор метода зависит от ваших ресурсов и условий эксплуатации:

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

← На главную