Разработка мобильного приложения на 1с с нуля. Мобильный клиент: установка, отладка, сборка под Android". Устройство мобильной платформы

В преддверии партнерского семинара фирма 1С выпустила новую версию платформы 1С 8.3.2, в которую вошла новая функциональность по созданию мобильных приложений для Android и iOS. Пока еще эти приложения не требуют для своей работы приобретения лицензий, поэтому попробовать их может каждый.
В документации по платформе 1С 8.3 описан достаточно сложный способ создания своих мобильных приложений, но есть очень простой вариант, не требующий установки дополнительных приложений и компиляции сборки.
Единственное, что потребуется из не совсем стандартного - веб-сервер, к которому есть доступ с мобильного устройства (через Интернет или локальную сеть).

Во-первых, скачайте из AppStore или GooglePlay приложение 1С:Заказы.

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

Создаем для примера элементарную функциональность без какого-либо кода - справочники Номенклатура, Контрагенты и документ ЗаявкаПокупателя:

Добавляем еще форму списка для документа, устанавливаем ее на рабочий стол, обновляем базу и запускаем в управляемом режиме для проверки:

Запустим конфигуратор в терминальной сессии на том сервере, где установлен 32-разрядный веб-сервер

Откроем окно публикации мобильного приложения:

Выполним публикацию. В общем-то, этот этап не сильно отличается от обычной публикации веб-сервисов или веб-клиента:

В моем случае внешний адрес для мобильного устройства получился таким: https://xxxxx.alp.ru/mobile/

Возвращаемся в телефон и запускаем 1С:Заказы, отменяем или соглашаемся с синхронизацией, открываем меню и переходим в список приложений:

Добавляем новое приложение, жмем "Загрузить":

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

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

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

Я предполагаю, что Вы знакомы с установкой мобильного приложения и сборщиком мобильных приложений, а также, что у Вас уже установлен Android SDK, Apache Ant и прочее. Статей на эту тему уже полно.

Возьмем для наших экспериментов демонстрационную конфигурацию «Управляемое приложение» и, для начала, попробуем подключить ее в готовый мобильный клиент. В моем случае, дистрибутив клиента - это файл «1cem-client-arm.apk». Предварительно на смартфоне должна быть включена возможность установки приложений из неизвестных источников. У меня это выглядит так:

Мобильный клиент - это аналог веб-клиента, поэтому, для доступа к базе, ее необходимо опубликовать на веб-сервере. Здесь все стандартно, я публикую на веб-сервере IIS с именем “demo”. База у меня файловая, так что нужно дать права на каталог пользователю IUSR. Радует, что система сама об этом напомнила.

Подключаем базу в мобильном клиенте:

Сразу в базу войти, конечно же, не удалось J Все дело в том, что у Администратора открывается обработка по работе с электронной почтой и пытается установить значок для панели задач, которой в мобильном клиенте нет. Поскольку данной функциональности также нет и в веб-клиенте, код обрамлен в директивы компиляции «#Если Не ВебКлиент Тогда». Нам просто необходимо найти все места, где используется данная директива и поменять ее на «#Если Не ВебКлиент И Не МобильныйКлиент Тогда». Для начала этого вполне достаточно, и мы можем наконец-то увидеть работу мобильного клиента. Командный интерфейс выглядит следующим образом:

А вот список контрагентов:

Конечно же, это не все места, которые необходимо адаптировать под работу мобильного клиента. Проверить конфигурацию можно с помощью «Главное меню - Конфигурация - ---Проверка конфигурации»:

У меня нашлось 84 ошибки, включая неподдерживаемые объекты метаданных. Плюс те три места в коде, которые я уже ограничил директивами. Так что придется еще поработать над адаптацией, но это конечно не то же самое, что писать мобильное приложение с нуля.

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

Если мы не понимаем в чем же ошибка - нам поможет отладка. Она в мобильном клиенте есть, но используется только отладка по HTTP. У меня база файловая, так что я воспользуюсь локальным сервером отладки («Сервис - Параметры - Отладка») и настрою автоматическое подключение для мобильного клиента («Отладка - Подключение - Автоматическое подключение»):

Указываем параметры и готово:

Настройка для предварительно подготовленного apk клиента от 1С завершена.

Теперь соберем свой apk, воспользовавшись сборщиком мобильный приложений. Признаться, я потратил несколько часов, пытаясь собрать приложение первый раз. Сборка проходила, но открывался пустой список баз.

И так, имеем архив мобильной версии платформы. Загружаем его в справочник «Мобильные версии»:

В настройках сборщика отдельно появился пункт для SDK 26 и выше (кто, как и я, давно не обновлял - запускаем SDK Manager и загружаем новые пакеты):

Далее необходимо подготовить файл конфигурации. Вот с этим шагом у меня и были проблемы в самом начале. Потом я открыл документацию и все немного прояснилось. Руководство разработчика говорит по этому поводу следующее: «Каждая конфигурация, которая может работать в мобильном клиенте, содержит некоторую вспомогательную информацию, позволяющую отследить подмену конфигурации».
Файл конфигурации необходимо подписать. При этом для каждой конфигурации формируется свой закрытый ключ, а в файл 1cemca.xml выгружается открытый ключ (поле DSAKey), с помощью которого и сравнивается подпись конфигурации.

Чтобы сформировать ключ и подпись, заходим в свойства конфигурации «Подпись мобильного клиента» (сразу под требуемыми разрешениями, если у Вас свойства разделены по категориям, а не по алфавиту) и видим настройки подписи:

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

Подпись готова, можем продолжить. Сразу скажу, что фоновые процессы в мобильном клиенте недоступны, так что их необходимо отключить в разрешениях мобильного клиента. Так же недоступен обмен файлами с ПК. Я дополнительно отключил геопозиционирование, чтобы при сборке не возникала ошибка из-за отсутствия ключа для работы с картами. У меня получился следующий список разрешений:

Вот мы и подобрались к 1С: Предприятие в виде мобильного приложения - небольшой обзор на мобильное приложение изнутри.

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


Установка мобильного приложения осуществляется из «маркетов» на данных платформах . Если приложение не опубликовано, то можно его установить передав файл-дистрибутив на мобильное устройство.

Конфигурировать и программировать само мобильное приложение можно только в полноценном режиме Конфигуратора, а затем собирать его с помощью специальной конфигурации Сборщик мобильных приложений.
Это огромный плюс, так как разработку мобильного приложения может вести разработчик 1С конфигураций, который сопровождает Вашу программу 1С: Предприятие.
Конечно, мобильное приложение обладает меньшими возможностями, чем десктопная платформа: например, отсутствуют такие объекты как Отчеты, Регистры бухгалтерии, Бизнес-процессы .




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


Зато есть функционал для использования мобильных достоинств: при разработке мобильного приложения можно использовать Контактную книгу, совершать вызов из приложения через подсистему « Т елефония», получить данные о местонахождении через Геопозиционирование.

Вы спросите: « Как же работать с обычной базой на 1С? Зачем такое приложение вообще нужно?»

Для связи с «внешним миром»существует несколько механизмов, например Планы обмена. Они позволяют связать полноценную базу 1С и базу мобильного приложения - примерно также, как работают распределенные базы данных.

Мобильное приложение должно выполнять функцию мобильного приложения и соответствующий функционал, поэтому полностью все данные из одной базы в другую не синхронизируются, да и не смогли бы из-за объектного ограничения, описанного выше.
Такая реализация обмена доступна, например, в связке программ 1С: Предприятие 8 Управление Торговлей ред.11 и мобильное приложение "1С:Заказы" . Базы обмениваются информацией о контрагентах, заказах покупателей товарным ассортиментом и ценами. При этом мобильное приложение может работать оффлайн, а при доступности сети Интернет производить обмен данными.
Мобильное приложение выглядит достойно, есть визуальный узнаваемый стиль по сравнению с десктопной версией 1С, а также набор стандартных операций производимый с объектами, типа: «Провести», «Пометить на удаление» и тому подобные. Поэтому пользователям мобильного приложения будет знаком контекст работы.

Вот так выглядит интерфейс приложения в последних версиях:


Второй популярный способ общения между мобильным приложением и учетной системой
1С: Предприятие 8 - это работа через веб-сервисы

Общая схема организации следующая: в прикладном решение 1С: Предприятие 8, а проще говоря - в конфигурации, описывается веб-сервис, который выполняет какие-либо функции на стороне, где опубликован сервис, и может передавать данные.

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

Подробнее:

Сервис может передавать данные в формате, описанном в XDTO пакете, причем сам разработчик описывает эту модель данных. Можно передавать примитивные типы: числа, строки, даты. Можно передавать составные типы, можно передавать бинарные данные - например, картинки, или документы PDF, XLS. Мы покажем простой пример, где описан пакет с задачами - номер задачи и заголовок. Пример того, как выглядит пакет :

В свою очередь, в мобильном приложении создается объект с типом WS-Ссылка. В ней указывается адрес веб-сервиса, после чего автоматически подгружаются типы данных и методы, которыми сервис оперирует:

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

А что с лицензиями на мобильные приложения от 1С?

В информационном письме от фирмы 1С данный вопрос раскрыт. Выдержка приведена ниже.

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

И по традиции, кейс:

Задача:

Заказчик имеет центральный офис и несколько точек в своей торговой сети. На каждой точке несколько продавцов-менеджеров и одно рабочее место продажи товара с учетной программой.

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

Для постановки задач Заказчик сначала использовал электронную почту и телефонные звонки, но - автоматизированное рабочее место одно и оперативно получать задачи и реагировать на них работники не могли. Центральный офис имел трудности в контроле таких задач, так как при постановке по телефону задача нигде не записывалась, а пересматривать почту на предмет невыполненных задач было затруднительно.

Решение:

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

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

Благодаря тому, что мобильное приложение и центральная учетная система работают в одном информационном пространстве - была достигнута оперативность постановки задач и адресация именно на того сотрудника, кому она предназначалась.

Повысилась точность передачи информации - если раньше по электронной почте менеджер в офисе писал - «подготовить товар по Заказу№ ___», то теперь в задаче он просто указывал ссылку на необходимый заказ, которые работник точки мог открыть на телефоне.

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

Анатолий Никулин

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

Для тестирования готового мобильного приложения 1С, будет использоваться реальное устройство на основе операционной системы Android, с использованием мобильной платформы для разработчиков и возможности отладки по протоколу HTTP.

Установка веб сервера Apache

1. Скачиваем скомпилированные файлы веб сервера Apache, весрии 2.2 (На момент написания, платформа 1С могла работать, только с указанной версией). Выбрать, откуда скачать, можно по адресу: https://httpd.apache.org/docs/current/platform/windows.html#down раздел «». Например, используем сайт «ApacheHaus » и скачиваем архив в зависимости от разрядности вашей операционной системы.

Скачанный архив распаковываем, по пути: «C:\Apache22», убедитесь, что порт 80 на вашем компьютере свободен и не занят другим приложением. Далее с помощью «Командной строки» (запущенной от имени администратора) переходим в каталог «C:\Apache22\bin» и выполняем команды:

Httpd -k install

Httpd -k start

После этого, будет установлена и запущена служба «Apache2.2», проверить которую можно в браузере, по адресу: http://127.0.0.1/ но вместо 127.0.0.1 используйте IP адрес вашей сетевой карты, через которую будет происходит обмен данными, с разработанным мобильным приложением 1С.
Если установка прошла успешно, будет выведена информация о сервере и надпись «It works!».

В папке с исполняемыми файлами веб сервера, находится приложение «ApacheMonitor.exe », которое служит удобной утилитой для остановки и перезапуска сервера. Ссылку на данное приложение помещаем в автозагрузку операционной системы, например, в папку:

C:\Users\[ИмяПользователя]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

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

2. Скачиваем и распаковываем архив с мобильной платформой для разработчиков 1С, с доступных вам адресов:
https://users.v8.1c.ru/distribution/total , http://online.1c.ru/catalog/free/18610155/ , http://its.1c.ru/ , либо с торрент трекеров.
В папке «Android» находятся APK файлы (1cem-arm.apk и 1cem-x86.apk ), выберите нужный тип (arm либо x86 (Intel)) в зависимости от того какая архитектура используется в процессоре вашего устройства.
Установите приложение на ваше устройство, перед этим включите разрешение на установку из неизвестных источников (Настройки – раздел «Безопасность»).

Создание конфигурации для мобильного приложения

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

Создайте общую форму и поместите на нее «Декорация — Надпись» с текстом «Привет мир» и команду «НажмиМеня», с обработчиком:

&НаКлиенте Процедура НажмиМеня(Команда) Сообщить("Привет Мир!!!"); КонецПроцедуры

После, откройте «Параметры» (Сервис — Параметры) и выберите вкладу «Отладка», установите настройки согласно скриншоту:

Проверка настроек брандмауэра

4. Проверьте настройки брандмауэра, порты 80 и 45455 по протоколу TCP, должны быть доступны. На домашнем компьютере использую «ESET Smart Security», версии 9, для него необходимо зайти в «Дополнительные настройки», выбрать раздел «Персональный файервол», далее подраздел «Основное» и «Изменить» правила.

Проверьте на мобильном устройстве доступ к веб серверу Apache и отладчику 1С, для этого в браузере используйте IP адрес сетевой карты, через которую идет обмен данными с разработанным мобильным приложением 1С, примеры адресов: http://192.168.0.96 и http://192.168.0.96:45455

Настройка мобильного приложения 1С

5. Откройте мобильную платформу на устройстве Android и добавьте новое приложение, настройте как показано на скриншоте (используйте свой IP адрес):

Тестирование мобильного приложения 1С

6. Тестируйте ваше 1С мобильное приложение «Привет мир». Дополнительно, попробуйте поставить точку останова в процедуре обработки нажатия кнопки.

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

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

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

Пример мобильного клиента для СЭД «Корпоративный документооборот» созданный на мобильной платформе «1С:Предприятие 8.3»

Платформой поддерживается скачивание и развертывание приложений пользователями на их устройствах из магазинов App Store или Google Play. Дистрибутив при этом содержит все компоненты, необходимые для начала работы.

На базе мобильной платформы «1С» могут быть созданы различные решения, но основным вариантом решений являются мобильные off-line клиенты для учетных систем. Такие решения предназначены для поддержки мобильных пользователей в удаленных рабочих местах. Обмен данными при этом производится посредством регулярной синхронизации с центральной базой данных. Обмен данными возможен посредством следующих механизмов:

  • Web-сервисы
  • Файловый обмен
  • Электронная почта
  • и другие механизмы
    Альтернативным вариантом может являться работа в онлайне в режиме веб-клиента.

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




Просмотров