Top.Mail.Ru

Создание вашего первого мобильного приложение 1С с нуля для Андроид за 6 шагов

В прошлой статье мы познакомились с мобильной платформой 1С, определились с нюансами работы с данной системой и вариантами ее использования, ознакомились с ограничениями и «фишками». Теперь давайте от теории переходить к практике 🙂 Освоим создание мобильного приложения 1С с нуля.

1. Установка мобильной платформы 1С для Android

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

Итак, по пунктам:

  1. Мобильную платформу можно скачать с официального сайта обновлений 1С:
как установить мобильную платформу 1с на андроид
Рисунок 1. – основной ресурс скачивания мобильной платформы

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

установка мобильной платформы 1с для андроид
Рисунок 2. – установочные файлы мобильной платформы для ОС Android

Почему именно 4 файла? Как я говорил в первой статье, 1С написали мобильную платформу для всех (ну или почти всех) платформ. В данном случае 4 файла – это одна и та же платформа, но для разных аппаратных платформ (arm или intel) и разных разрядностей. Если вы не знаете характеристики своего телефона для тестирования, можете смело кидать все 4 файла на телефон и поочередно устанавливать. Один из четырех все равно установится 🙂 Ну про установку из неизвестных источников я также не буду рассказывать 🙂

  • Проверить на ПК, установлен ли модуль «Модули расширения веб-сервера». Если данный модуль не установлен, необходимо его установить.
установить 1с для андроид
Рисунок 3. – Обязательный компонент платформы для работы с мобильной платформой
  • Установить Веб-сервер. В принципе у нас есть 2 альтернативы: Apache или IIS. Для работы я всегда использовал Apache, поэтому, если не возражаете, опишу работу с ним. Получение и установка данного ПО выходит за рамки данной статьи, так что сразу перейду к настройке Apache для 1С.

В конфигурационном файле Apache должна присутствовать вот такая строка:

мобильная платформа 1с android - регистрация библиотеки для работы с веб-серверами
Рисунок 4. – Регистрация библиотеки 1С для работы с веб-серверами

Путь может быть разным, в зависимости от версии 1С. Также, если вы переходите на другую версию платформы, то должны проверить правильность пути в конф. файле Apache. Хотя при установке и публикации 1С сама должна перенастраивать конф. файл, но это происходит далеко не всегда. Также разрядность Apache должна совпадать с разрядностью 1С. Данный пункт можно исправить, меняя настройки Apache, но зачем? 🙂

2. Настройка мобильного приложения 1С с помощью эмулятора Android на ПК

Небольшое отступление. Для настройки мобильного приложения 1С не обязательно использовать свой телефон в режиме «подопытного кролика». Для этого придумано много эмуляторов Android, начиная от всеми признанного эмулятора из пакета Android Studio и заканчивая сторонними ПО. Лично я для этих целей использую эмулятор Andy. Да, он давно не обновлялся, но я как-то привык к этому эмулятору. Хотя для серьезных проектов, естественно, использую Android Studio, так как в данной системе можно проверить свою конфигурацию для разного «железа» и ОС. Ну и все равно выбор эмулятора – дело вкуса и не более того. Указать самый лучший эмулятор не получится.

подходящий для мобильных приложений на 1с эмулятор андроид
Рисунок 5. – Варианты виртуальных устройств в пакете Android Studio

Ну что ж, 1С настроена, Apache вывел свое знаменитое «It works!» эмулятор настроен, двигаемся дальше 🙂 Создаем новую конфигурацию и указываем платформе, что разработка будет вестись для мобильной платформы.

1с мобильная платформа для андроид
Рисунок 6. – Определение назначения использования конфигурации 1С

3. Настройка мобильной платформы 1С для работы с приложениями на Андроид

Следующий этап – это настройка мобильной платформы. Платформа установлена на телефоне/эмуляторе, в списке баз нажимаем добавить и указываем строку подключения:

начальная настройка мобильной платформы 1С
Рисунок 7. – Начальная настройка мобильной платформы

Давайте вкратце расскажу про основные реквизиты:

  1. Наименование приложения – с каким наименованием данная конфигурация будет отображаться в списке.
  2. Адрес обновления (при первом подключении — Адрес) – адрес http(s), по которому 1С взаимодействует с Apache.
  3. Имя пользователя/пароль – авторизация на платформе 1С, если это необходимо.
  4. Перезапуск из конфигуратора – если данный флаг установлен – мобильная платформа всегда будет обновлять конфигурацию, если конфигурация обновлена в системе разработки (то есть будет происходить нединамическое обновление).
  5. Адрес сервера отладки – довольно важный пункт при проектировании. С помощью него можно проводить отладку мобильной платформы, как мы привыкли отлаживать 1С в режиме предприятия в обычной платформе. На этой настройке остановлюсь подробнее немного позже.
  6. Режим печати – данная функция появилась относительно недавно, но значительно упростила работу с печатью. Позволяет выбирать варианты печати. В некоторых случаях (например, для сохранения печати в pdf, передача на BT-принтер и так далее удобнее пользоваться средствами устройства).

4. Публикация мобильного приложения 1С

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

Первое, что я попробовал – это вызов сообщения «Hello, world!». Выполнил публикацию и… Ничего не произошло. Мобильная платформа не получила конфигурацию, привет миру мы, к сожалению, не сказали

Дело в том, что публикация мобильного приложения осуществляется не как мы привыкли «Администрирование» — «Публикация на веб-сервере», а через специальный пункт меню:

публикация мобильного приложения 1С
как опубликовать мобильное приложение на 1С
Рисунок 8. – Публикация мобильной конфигурации

После публикации в конфигурационном файле Apache добавляется новая секция, описывающая данную публикацию:

как опубликовать мобильное приложение на 1С
Рисунок 9. – Секция описания опубликованной базы в конф. файле Apache

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

После всех манипуляций наша мобильная платформа получает конфигурацию. Если посмотреть на данные веб-сервера, программа передает xml-файл, который содержит описание конфигурации, какие сервисы android будут использоваться. Например, доступ к телефонной книге, геопозиционирование и так далее и бинарные данные описания метаданных, то есть cf-файл.

В результате в телефоне по пути \data\data\com.e1c.mobile\files\ … \xxxx-xxx …. xxxx\ будет создана новая (или обновлена) база данных в файловом формате 1С — 1Cv8.1CD.

передача конфигурации в мобильную платформу 1с
Рисунок 10. – Формат передачи конфигурации в мобильную платформу

5. Отладка мобильного приложения на 1С

Теперь хотел бы остановиться более подробно на отладке мобильного приложения. Так как вся работа между системой разработки и мобильной платформой производится не по протоколу TCP, а по протоколу HTTP(S), настройка отладки будет немного другой:

Настройки отладки мобильной платформы 1С
Рисунок 11. – Настройки отладки мобильной платформы

Платформа потребует перезагрузку, и после перезапуска будут доступны все варианты отладки:

Варианты отладки мобильной платформы на сервере
Рисунок 12. – Варианты отладки мобильной платформы на сервере

Вот и все 🙂 Можно создавать свой шедевр 🙂

6. 1С Андроид: создание инсталляционного файла мобильного приложения 1С

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

В процессе создания конфигурации мы использовали механизмы мобильной платформы для работы с конфигурацией. Но теперь нам необходимо создать изолированный файл установки, который можно передать заказчику/выложить в гугл маркет/выложить на любом сетевом ресурсе, чтобы пользователи пользовались этим замечательным механизмом 🙂

Для создания инсталляционного файла изначально использовалась отдельная конфигурация, которая называлась «Сборщик приложений». Для работы с ней требовалось поставить еще несколько дополнительных приложений, таких как JDK (Java SE Development Kit), SDK (android studio). В результате конфигурация формирует apk-файлы на основании этих китов.

Внешний вид данной конфигурации представлен ниже (принтскрины не мои, давно данной конфигурацией не пользовался 🙂 ):

1С Андроид: внешний вид конфигурации «Сборщик приложений»
Внешний вид конфигурации «Сборщик приложений»
Рисунок 13. – Внешний вид конфигурации «Сборщик приложений»

При сборке могут возникать ошибки, которые не всегда можно исправить «с лету». Например, у меня возникала ошибка «Out of memory». Оказалось, когда платформа запускает сборку, явно указывает размер оперативной памяти, которая выделяется под виртуальную машину Java. Так как проект был довольно «тяжелый», виртуальной машине памяти не хватало, и она «падала» с такой ошибкой. Достаточно было поменять объем оперативной памяти в коде сборщика (кстати, если кто его запустит в конфигураторе, то очень удивится – весь код написан на английском языке 🙂 ), и сборка проходит успешно.

На текущий момент «танцев с бубном» уже не нужно, так как 1С предоставила онлайн-сервис сборщика приложений. Я им пользовался только 2 раза, никаких ошибок не возникало.

Онлайн-сборщик для мобильного приложения на 1с для андроид
Рисунок 14. – Сборщик приложений онлайн

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

Comments

So empty here ... leave a comment!

Добавить комментарий

Sidebar