1C 8.3.2: пишем приложение под Android

в 5:30, , рубрики: , android, ит-инфраструктура, Разработка под android, метки: ,
Новая версия

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

Мобильная платформа, как пишут сами разработчики, «это общее название технологии, позволяющей создавать приложения, работающие на мобильных устройствах под управлением операционных систем Android или iOS».
«Мобильное приложение, установленное на устройстве, представляет собой совокупность мобильной платформы и информационной базы.».

То есть, говоря проще, можно свою написанную конфигурацию, скомпилировать в приложение под Android (.apk) или iOS (.zip). Затем всё это добро можно выложить в Google Play или AppStore. Правда, если программу под Андроид можно подписать созданным там же ключём сразу же в 1С, и она будет готова для публикации немедленно, то для публикации приложения в AppStore его сначала придётся собрать с помощью программы Xcode на компьютере с операционной системой Mac OS X. И, разумеется, для публикации в любом из этих магазинов нужна лицензия разработчика.
Звучит всё хорошо, и я, естественно, захотел опробовать новые функции в деле.

image

Создание мобильного приложения на 1С

Для этого нам понадобится новая версия платформы (качать тут), файл, который берётся здесь, android SDK и JDK.
Предупрежу сразу: я сейчас не ставлю себе задачу показать процесс разработки чего-то конкретного на 1С, а просто хочу проверить и показать вам, что — да, мир сошёл с ума и на 1С действительно можно написать программку под Андроид.
Ну что ж, попробуем написать своеобразный «helloWorld» под гуглофон. Сделаем программу в тестовых целях — конфигурацию с одной общей формой, которую и вынесем на «рабочий стол».
Итак, создаём новую конфигурацию в управляемом режиме, и первое, что мы должны сделать, если пишем под мобильную платформу, это указать «Назначение использования» в свойствах самой конфигурации.

1C 8.3.2: пишем приложение под Android

И здесь мы сразу обращаем внимание, что многие объекты конфигурации стали недоступны для использования. Мы уже не сможем использовать подсистемы, регламентные задания, XDTO-пакеты, Web- сервисы, отчеты, бизнес-процессы и многое другое. Также многие процедуры и методы для некоторых объектов оказываются недоступны. Это стоит учитывать при разработке.
Делаем «форму», создаём строковый реквизит с заголовком: «Привет!» — и кидаем его на форму. Также создадим кнопку. В обработке нажатия напишем вывод сообщения, для примера.

&НаКлиенте
Процедура Команда1(Команда)
      Предупреждение("Это работает!");	
КонецПроцедуры

Для проверки работоспособности нам этого хватит, потому приступаем к самому интересному. Сохраняем конфигурацию в файл для мобильного приложения (Конфигурация->Мобильное приложение->Записать в файл), запускаемся в управляемом режиме, и запускаем обработку MobileAppWizard.epf. Этот файл лежит в архиве mobile.zip, который мы скачали в самом начале.
И вот нам предлагают заполнить первичные настройки, где все обязательные поля подчёркнуты красным.

1C 8.3.2: пишем приложение под Android

Расположение мобильной платформы — каталог, в котором расположены файлы android.zip и ios.zip, необходимые для формирования поставки мобильного приложения. Они лежат всё в том же архиве mobile.zip.
Указываем папку, куда мы установили Android SDK (скачать можно тут). 1С выставляет следующие требования:
Версия Android SDK Tools — не ниже 20.0.3;
Версия Android SDK Platform-tools — не ниже 14;
Версия SDK Platform — API 8 (не ниже версии 8.3).
И также нам нужен Java SDK (можно получить по этому адресу) Причем 1С предупреждает нас, что JDK7 не работает совместно с Android SDK.
Указываем папки, куда будет помещён наш .apk файл, место расположение ключа для подписи и псевдоним с паролем. Если вы делаете это впервые, и у Вас нет ключа, то можно заполнить «параметры ключа» и сформировать себе ключ (в таком случае в поле «файл ключа» вы должны указать папку, где этот ключ будет создан).
Нажимаем «ОК» и переходим ко второму окну.

1C 8.3.2: пишем приложение под Android

В нём в первую очередь указываем «Конфигурацию моб.приложения» — тот самый файл, который мы сохранили. Затем язык, и только потом нажимаем на кнопочку с «лупой» и вводим там представление. Указываем « Идентификатор приложения» — уникальное имя Java-класса, которое будет использоваться в дальнейшем для выполнения обновления. Идентификатор должен обязательно быть написан на латинице, и 1С рекомендует начинать его название с «com.e1c.» Заполняем номер версии и сборки и жмём кнопку «Создать». Если всё пройдёт удачно, то система оповестит вас об успешном создании .apk файла.
Закидываем получившийся файл на телефон и устанавливаем любимым менеджером, предварительно разрешив в настройках системы установку сторонних приложений. Либо устанавливаем программу на эмулятор через adb. Скажу сразу: на эмуляторе всё ужасно тормозит, на телефоне же (проверял только на HTC Wildfire S) дела обстоят намного лучше, но всё равно проблемы есть. Например, у меня файл получился весом в целых 34 Mb, так что установка шла достаточно долго. После запуска нас приветствует экран заставки, и через некоторое время запускается сама конфигурация. (за фото извините: фоткал на калькулятор)

1C 8.3.2: пишем приложение под Android 1C 8.3.2: пишем приложение под Android 1C 8.3.2: пишем приложение под Android

Пока новые возможности выглядят весьма «сыро»: ограничение функционала 1С, невозможность использования skd напрямую, плюс большой размер и некоторые «тормоза»… Но сама возможность написать программу для мобильной платформы на 1С немного удивляет! Лично у меня двоякое мнение об этом. С одной стороны, эта «фича» пока больше похожа на игрушку, ибо отсутствует возможность сделать что-то по-настоящему стоящее. Но с другой стороны, это явно большой шаг компании 1С в сторону мобильности, и если данное направление будет активно развиваться, то это может принести немало пользы. Как пример — можно экипировать кладовщиков планшетами. Если будет возможность использовать «бортовые» камеры, то можно освободится от устройств считывания, и сканировать коды непосредственно с планшета, можно снабдить ими водителей машин, и посылать задания на перевозку или отслеживать маршрут автомобиля и время в движении. Вариантов, в общем-то, много, и то, что это всё будет в единой информационной системе, весьма порадует заказчиков/руководителей, ведь у них почему-то всегда присутствует панический страх перед использованием большого количества различных систем, они хотят использовать весь функционал на единой платформе.
APK файл. ()

Автор: vdovin_ds

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js