Развитие мобильных технологий диктует новые правила для автоматизации бизнеса. Сегодня создание мобильного рабочего места на базе «1С:Предприятие 8» — это стандартная задача для разработчика. Мобильная платформа 1С позволяет перенести привычную бизнес-логику на смартфоны и планшеты под управлением операционных систем Android и iOS. Разберем по шагам весь процесс: от подготовки рабочего места на компьютере до установки платформы разработчика, настройки отладки, организации автономного режима и сборки готового автономного APK-файла.
Прежде чем приступить к практике, проанализируем архитектурные особенности мобильной платформы 1С. Важно понимать, что мобильная конфигурация — это облегченная версия обычных Управляемых Форм. Однако здесь накладывается ряд существенных ограничений:
Для создания полноценной среды разработки нам потребуется подготовить и установить на рабочий компьютер следующий набор программного обеспечения:
adb.exe (Android Debug Bridge), которая находится в подпапке platform-tools.1cem-arm.apk и 1cem-x86.apk), а также шаблоны конфигурации «Сборщик мобильных приложений» (MobileAppMaker).Чтобы начать отладку нашего приложения, на телефоне должна быть установлена мобильная платформа разработчика 1С. Это специальное приложение-контейнер, в которое загружается ваша разрабатываемая база. Установить его можно двумя способами.
Способ первый — прямая установка APK-файла (самый простой). Вы можете просто скопировать файл платформы разработчика на карту памяти телефона или отправить его через любой мессенджер/облако, а затем запустить установку средствами Android. Обратите внимание на архитектуру процессора вашего устройства:
1cem-arm.apk.1cem-x86.apk.Способ второй — установка через утилиту ADB (командная строка Windows). Этот способ удобен для разработчиков, так как позволяет автоматизировать процесс. Выполним следующие действия по шагам:
"D:\Android SDK\sdk\platform-tools\adb.exe" install -r "D:\MP\Android\1cem-arm.apk"
При успешном завершении процесса в консоли отобразится отчет о скорости передачи и заветная строка: Success. На рабочем столе телефона появится приложение «1С:Предприятие».
Теперь создадим простейшую конфигурацию в обычном конфигураторе 1С на компьютере. Создаем новую информационную базу. Заходим в свойства конфигурации и в параметре «Назначение использования» устанавливаем флажок «Мобильное приложение». Это автоматически отключит в синтакс-помощнике проверку недоступных на мобильном устройстве методов и объектов.
Нам необходимо опубликовать эту конфигурацию на веб-сервере Apache, чтобы телефон мог загрузить ее к себе. Выполним публикацию:
MobileTest), выберем веб-сервер Apache.Проанализируем возможные проблемы при публикации. Если при попытке загрузить базу на телефоне вы получаете ошибку доступа или ошибку 403, проверьте доступность веб-сервера через обычный браузер на компьютере или на телефоне, перейдя по адресу публикации. Убедитесь, что веб-сервер запущен, а брандмауэр Windows не блокирует входящие подключения по порту 80 или 8080.
Теперь запустим мобильную платформу разработчика на телефоне. Нажмем кнопку добавления нового приложения и укажем параметры подключения:
http://[IP-адрес_вашего_компьютера]/MobileTest (обязательно указывайте полный путь с именем публикации, а не просто IP-адрес компьютера, иначе платформа выдаст ошибку «Неправильный формат конфигурации»).Нажмите кнопку «Загрузить». Конфигурация скачается с веб-сервера компьютера и запустится на мобильном устройстве!
Разработка логики невозможна без отладки. Настроим сквозную отладку кода, выполняющегося непосредственно на телефоне:
http://192.168.1.100:1560).Проверим работоспособность отладки. Создадим в конфигурации обработчик события при создании формы на сервере и установим там точку останова:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ТестоваяПеременная = 1; // Установим точку останова на этой строке
КонецПроцедуры
Запустим приложение на телефоне. Как только форма начнет открываться, выполнение кода приостановится, и управление передастся в конфигуратор на компьютере. Вы сможете проанализировать значения переменных так же, как и при разработке стандартного десктопного приложения! Для ускорения тестирования без постоянного обновления конфигурации можно использовать альтернативный способ изменения кода на мобильных устройствах.
По умолчанию мобильное приложение разработчика при каждом запуске обращается к веб-серверу на компьютере, чтобы проверить наличие обновлений конфигурации. Но что делать, если вам нужно тестировать базу в условиях отсутствия интернета (например, в дороге)?
Для этого в настройках информационной базы на мобильном устройстве необходимо найти параметр «Обновление конфигурации» и отключить его (выбрать вариант «Не обновлять» или снять соответствующий флажок). После этого база перейдет в полностью автономный режим. Приложение больше не будет пытаться связаться с веб-сервером на компьютере при запуске и будет мгновенно открывать сохраненную локально конфигурацию с локальной базой данных СУБД SQLite, встроенной в платформу.
Платформа разработчика удобна для отладки, но конечным пользователям вы не можете раздавать ее. Для тиражирования решения необходимо собрать уникальный исполняемый файл приложения (формата APK для Android). Для этого фирма 1С предоставляет специальную конфигурацию — «Сборщик мобильных приложений» (MobileAppMaker). Рассмотрим этот процесс подробнее.
Запустите конфигурацию «Сборщик мобильных приложений» на компьютере под учетной записью администратора и укажите пути к установленным компонентам:
D:\Android-SDK\). Обратите внимание: в путях к каталогам крайне не рекомендуется использовать кириллицу и пробелы.При создании элемента в справочнике мобильных приложений вам потребуется заполнить поле «Идентификатор приложения» (Package Name). Это критически важное поле, которое должно строиться по правилу обратного доменного имени, например: ru.mycompany.mobileapp. Использование случайных символов вроде _1_2_3 не допускается, так как Android-устройство заблокирует установку такого пакета из соображений безопасности.
После заполнения всех параметров и выбора файлов мобильной платформы разработчика (из каталога 8.3.X.X_mobile), Сборщик автоматически скомпилирует вашу конфигурацию 1С и файлы платформы в единый дистрибутив APK.
Если после компиляции вы перенесли готовый APK-файл на телефон и при попытке установки получили сообщение «Ошибка при синтаксическом анализе пакета», проанализируем возможные причины:
AndroidManifest.xml. Попробуйте снять все галочки разрешений в свойствах конфигурации и пересобрать проект.При разработке мобильного интерфейса вы можете столкнуться с тем, что стандартные элементы управления ведут себя не так, как на стационарном ПК. Например, свойство КоличествоКолонок у переключателя, призванное выстроить элементы вертикально или горизонтально, игнорируется мобильной операционной системой Android. Мобильная платформа стремится адаптировать интерфейс под сенсорное управление и часто отображает переключатели исключительно горизонтальным списком. При необходимости можно ознакомиться с разбором типовых проблем и ограничений мобильного интерфейса 1С.
Для решения этой проблемы и создания удобного UI рекомендуется использовать альтернативные подходы:
Используя данные инструкции и инструменты отладки, вы сможете быстро пройти путь от проектирования структуры таблиц до создания готового к работе автономного мобильного бизнес-приложения на платформе 1С!