Как установить и настроить мобильную платформу 1С на Android: от разработки до сборки APK

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

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

В чем отличие мобильной платформы 1С от обычной?

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

  1. Отсутствие некоторых объектов метаданных: на мобильной платформе нет полноценных Отчетов, Системы компоновки данных (СКД), бизнес-процессов и задач. Если вам требуется построить сложный отчет, его логику придется реализовывать программно либо формировать на стороне центрального сервера и передавать на устройство в виде готового макета или таблицы.
  2. Ограниченные аппаратные ресурсы: оперативная память и мощность процессора мобильного устройства значительно уступают стационарным ПК. Алгоритмы обработки данных должны быть максимально оптимизированы.
  3. Обмен данными: для интеграции с центральной базой не подходят тяжелые механизмы вроде COM-соединения. Наиболее эффективным подходом является использование легких и быстрых HTTP-сервисов. По сравнению с SOAP-веб-сервисами, HTTP-сервисы проще в программировании, создают меньшую нагрузку на сеть и процессор мобильного устройства, а также ориентированы на работу с ресурсами.

Шаг 1. Подготовка окружения на компьютере разработчика

Для создания полноценной среды разработки нам потребуется подготовить и установить на рабочий компьютер следующий набор программного обеспечения:

  1. Модуль расширения веб-сервера 1С: он входит в стандартный дистрибутив технологической платформы 1С для Windows/Linux. Убедитесь, что при установке 1С у вас была отмечена галочка «Модули расширения веб-сервера».
  2. Веб-сервер Apache: он необходим для публикации вашей мобильной конфигурации, чтобы мобильный телефон мог скачивать обновления конфигурации по локальной сети. Рекомендуется использовать стабильные сборки Apache HTTP Server (например, версии 2.2 или 2.4). Для упрощения развертывания можно использовать локальные сборки веб-серверов.
  3. Java Development Kit (JDK): необходим для работы Android SDK и подписания готовых пакетов. Рекомендуется использовать стабильную версию JDK (например, версию 8 или 11 в зависимости от используемой версии платформы 1С).
  4. Android SDK: набор инструментов для разработки под операционную систему Android. Нам потребуются утилиты командной строки, в частности adb.exe (Android Debug Bridge), которая находится в подпапке platform-tools.
  5. Дистрибутив мобильной платформы 1С: скачайте архив с мобильной платформой с официального портала обновлений 1С. Внутри архива вы найдете папки с платформой разработчика (файлы 1cem-arm.apk и 1cem-x86.apk), а также шаблоны конфигурации «Сборщик мобильных приложений» (MobileAppMaker).

Шаг 2. Установка платформы разработчика на Android-устройство

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

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

Способ второй — установка через утилиту ADB (командная строка Windows). Этот способ удобен для разработчиков, так как позволяет автоматизировать процесс. Выполним следующие действия по шагам:

  1. Включите на мобильном телефоне режим «Отладка по USB». Для этого зайдите в настройки устройства, найдите пункт «О телефоне» и кликните на «Номер сборки» 7 раз, пока не появится сообщение «Вы стали разработчиком». После этого в меню появится раздел «Для разработчиков», где и активируется отладка по USB.
  2. Подключите телефон к компьютеру кабелем. Обратите внимание: телефон должен быть подключен в режиме передачи файлов (MTP), но при этом функция монтирования карты памяти как внешнего накопителя (USB Mass Storage) должна быть отключена, иначе компьютер заблокирует доступ к устройству.
  3. Откройте командную строку Windows и запустите установку приложения следующей командой (пути укажите в соответствии с вашей файловой структурой):

"D:\Android SDK\sdk\platform-tools\adb.exe" install -r "D:\MP\Android\1cem-arm.apk"

При успешном завершении процесса в консоли отобразится отчет о скорости передачи и заветная строка: Success. На рабочем столе телефона появится приложение «1С:Предприятие».

Шаг 3. Создание конфигурации, публикация и первый запуск

Теперь создадим простейшую конфигурацию в обычном конфигураторе 1С на компьютере. Создаем новую информационную базу. Заходим в свойства конфигурации и в параметре «Назначение использования» устанавливаем флажок «Мобильное приложение». Это автоматически отключит в синтакс-помощнике проверку недоступных на мобильном устройстве методов и объектов.

Нам необходимо опубликовать эту конфигурацию на веб-сервере Apache, чтобы телефон мог загрузить ее к себе. Выполним публикацию:

  1. В главном меню конфигуратора выберем пункт «Администрирование» -> «Публикация на веб-сервере».
  2. Укажем имя публикации (например, MobileTest), выберем веб-сервер Apache.
  3. Обязательно установим флажок «Публиковать мобильное приложение».
  4. Нажмем кнопку «Опубликовать».

Проанализируем возможные проблемы при публикации. Если при попытке загрузить базу на телефоне вы получаете ошибку доступа или ошибку 403, проверьте доступность веб-сервера через обычный браузер на компьютере или на телефоне, перейдя по адресу публикации. Убедитесь, что веб-сервер запущен, а брандмауэр Windows не блокирует входящие подключения по порту 80 или 8080.

Теперь запустим мобильную платформу разработчика на телефоне. Нажмем кнопку добавления нового приложения и укажем параметры подключения:

Нажмите кнопку «Загрузить». Конфигурация скачается с веб-сервера компьютера и запустится на мобильном устройстве!

Шаг 4. Настройка отладки кода на мобильном устройстве

Разработка логики невозможна без отладки. Настроим сквозную отладку кода, выполняющегося непосредственно на телефоне:

  1. В конфигураторе 1С на компьютере перейдем в меню «Сервис» -> «Параметры» на вкладку «Отладка». Выберем протокол отладки (для мобильных платформ чаще всего используется отладка по протоколу HTTP) и включим автоматическое подключение мобильных приложений.
  2. В приложении на мобильном телефоне зайдем в системные настройки базы (шестеренка в углу экрана) и активируем флажок «Отладка разрешена».
  3. В поле «Адрес отладчика» укажем IP-адрес нашего компьютера разработчика и порт (например, http://192.168.1.100:1560).

Проверим работоспособность отладки. Создадим в конфигурации обработчик события при создании формы на сервере и установим там точку останова:


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    ТестоваяПеременная = 1; // Установим точку останова на этой строке
КонецПроцедуры

Запустим приложение на телефоне. Как только форма начнет открываться, выполнение кода приостановится, и управление передастся в конфигуратор на компьютере. Вы сможете проанализировать значения переменных так же, как и при разработке стандартного десктопного приложения! Для ускорения тестирования без постоянного обновления конфигурации можно использовать альтернативный способ изменения кода на мобильных устройствах.

Шаг 5. Как организовать полностью автономный (офлайн) режим работы

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

Для этого в настройках информационной базы на мобильном устройстве необходимо найти параметр «Обновление конфигурации» и отключить его (выбрать вариант «Не обновлять» или снять соответствующий флажок). После этого база перейдет в полностью автономный режим. Приложение больше не будет пытаться связаться с веб-сервером на компьютере при запуске и будет мгновенно открывать сохраненную локально конфигурацию с локальной базой данных СУБД SQLite, встроенной в платформу.

Шаг 6. Сборка собственного автономного APK-файла

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

Запустите конфигурацию «Сборщик мобильных приложений» на компьютере под учетной записью администратора и укажите пути к установленным компонентам:

  1. Путь к каталогу Android SDK (например, D:\Android-SDK\). Обратите внимание: в путях к каталогам крайне не рекомендуется использовать кириллицу и пробелы.
  2. Путь к установленному JDK (Java Development Kit).
  3. Путь к утилите автоматизации сборки Apache Ant (архив с которой поставляется вместе с платформой разработчика).

При создании элемента в справочнике мобильных приложений вам потребуется заполнить поле «Идентификатор приложения» (Package Name). Это критически важное поле, которое должно строиться по правилу обратного доменного имени, например: ru.mycompany.mobileapp. Использование случайных символов вроде _1_2_3 не допускается, так как Android-устройство заблокирует установку такого пакета из соображений безопасности.

После заполнения всех параметров и выбора файлов мобильной платформы разработчика (из каталога 8.3.X.X_mobile), Сборщик автоматически скомпилирует вашу конфигурацию 1С и файлы платформы в единый дистрибутив APK.

Решение проблемы «Ошибка при синтаксическом анализе пакета» при установке APK

Если после компиляции вы перенесли готовый APK-файл на телефон и при попытке установки получили сообщение «Ошибка при синтаксическом анализе пакета», проанализируем возможные причины:

  1. Несоответствие версии Android SDK (minSdkVersion): Сборщик прописал в манифест минимальную версию Android, которая оказалась выше, чем операционная система на вашем тестируемом телефоне. Проверьте версию установленного SDK Platform Tools и настройки таргетинга в Сборщике.
  2. Конфликт архитектуры процессора: Убедитесь, что вы компилируете APK под нужную архитектуру. Если процессор вашего смартфона использует архитектуру ARM, а сборщик упаковал базу под x86, Android выдаст ошибку синтаксического анализа при попытке распаковать и верифицировать файлы манифеста.
  3. Некорректно заполненные права (Permissions) в свойствах конфигурации: Если в конфигурации были отмечены лишние или неподдерживаемые мобильным устройством аппаратные свойства (камера, геопозиционирование, контакты), Сборщик мог сгенерировать некорректную структуру разрешений в файле AndroidManifest.xml. Попробуйте снять все галочки разрешений в свойствах конфигурации и пересобрать проект.
  4. Повреждение APK-файла при передаче: Если файл был скопирован на устройство не полностью или с ошибками передачи данных по кабелю/сети, пакет не пройдет проверку контрольной суммы.

Обход ограничений интерфейса: Проблема с переключателями

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

Для решения этой проблемы и создания удобного UI рекомендуется использовать альтернативные подходы:

Используя данные инструкции и инструменты отладки, вы сможете быстро пройти путь от проектирования структуры таблиц до создания готового к работе автономного мобильного бизнес-приложения на платформе 1С!

← На главную