Мобильная платформа 1С
Михаил З.
10.04.2017
112 понравилось
6525 просмотров

Мобильная платформа 1С

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

Для начала вкратце определимся с основными понятиями и софтом, который нам понадобится для разработки.

1.Основные понятия

Мобильная платформа – инструмент, позволяющий реализовать приложения, функционирующие на мобильных устройствах под управлением операционных систем iOS, Android, Windows Phone.

Мобильное приложение – является конечным результатом разработки. Устанавливается на мобильное устройство и имеет возможность обмена информацией с основным приложением в режиме Off-line. Для обмена доступны следующие каналы передачи информации: Файловый обмен,  электронная почта, Web-сервисы и т.п.

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

 2.Настройка программного обеспечения

2.1 Установка Web сервера

Для начала установим Web сервер. Работа возможна как с Internet information services от  Microsoft так и с Apache. В нашем примере будем рассматривать Apache  поскольку он более прост в настройке и стабилен в работе.

Пройдем по ссылке https://archive.apache.org/dist/httpd/binaries/win32/  и скачаем дистрибутив для Windows. Запустим установку.

При помощи клавиши  «Next» переходим к следующему окну:

В поля «Network Domain» и «Server name» впишем «localhost» (или 127.0.0.1). Это значит, что сервер будет работать на локальном компьютере.

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

По умолчанию Apache  работает с 80 портом. С этим же портом  по умолчанию работает множество популярных программ, например TeamViewer, Skype, которые в дальнейшем не дадут запустить Apache.   Есть 2 варианта решения данной проблемы, отключить использование данного порта в  этих программах, либо поменять порт у Apache.

Чтобы выяснить какие программы занимают 80 порт необходимо запустить cmd.exe (нажать Пуск – вбить в поиск cmd – нажать правой кнопкой «Запустить от имени администратора»)  в появившемся окне ввести команду netstat –ab.

На скриншоте видим, что 80 порт занят Skype.

 

Оставим порт по умолчанию 80. Нажимаем «Next» выбираем типовую установку. Нажимаем «Next», меняем каталог установки если потребуется, в следующем окне нажимаем «Install, после чего запустится процесс установки.

После окончания установки   в системном трее появится иконка , если кликнем по ней два раз, откроется следующее окно:

Если все же возникли проблемы со стандартным портом его всегда можно поменять вручную,  для этого нужно зайти в папку где установлен Apache, выбрать папку «conf», в ней открыть файл «httpd.conf». В нем найти параметр «Listen» и поменять его значения на нужный Вам порт, например 8080.

После изменения номера порта сохраняем файл и перезапускаем Apache. Для этого в трее щелкаем по значку

левой кнопкой мыши в появившемся меню выбираем «Restart».

Убедимся в работоспособности Web сервера, зайдем в браузер и в поле ввода адреса укажем http://localhost:8080/  (где 8080 порт, который мы установили) на экране должна появиться следующая страница:

2.2 Настройка платформы

Для успешной работы необходимо, что бы были установлены следующие компоненты:

2.3 Установка мобильной платформы

Скачиваем мобильную платформу с сайта 1С https://users.v8.1c.ru/.  В нашем примере используется версия 8.3.8.70.

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

  1. Android - содержит в себе файлы для сборки под Android;
  2. iOS - содержит в себе файлы для сборки под iPhone;
  3. Windows - содержит в себе файлы для сборки под Windows  Phone;
  4. MobileAppMaker - содержит в себе файлы конфигурации «Сборщик приложений».

Поскольку разработку приложения Мы будем вести для устройства под управлением ОС Android, то нас интересует первый каталог.

Посмотрим его содержимое:

  • 1cem-arm.apk - мобильная платформа разработчика для архитектуры ARM, наиболее часто используемая;
  • 1cem-x86.apk – мобильная платформа разработчика для архитектуры x86, используется для процессоров от Intel;
  • prjandroid-arm.zip – мобильная платформа, предназначенная для сборки мобильных приложений (для архитектуры ARM);
  • prjandroid-x86.zip – мобильная платформа, предназначенная для сборки мобильных приложений (для архитектуры x86).

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

 

Зайдем в диспетчер файлов на мобильном устройстве, найдем наш файл и запустим его

 

При установке может возникнуть сообщение о блокировке приложений не полученных из Play Store.

В таком случае нужно нажать кнопку «Настройки» и в появившемся окне установить флажок «Неизвестные источники»  

и повторить установку.

2.4 Настройка конфигурации

После того как все программное обеспечение настроено приступим к разработке    нашего  мобильного приложения. Создадим новую информационную базу и зайдем в неё в режиме конфигурирования.
Заходим в меню Сервис -> Параметры и расставим галочки как показано на скриншоте:

У вас есть вопрос, нужна помощь консультанта?

Оставьте номер телефона и мы перезвоним!

Далее переходим на вкладку Справка и снимаем там все галочки, кроме  «Мобильное приложение–клиент», «Мобильное приложение–сервер».

Далее вызываем свойства корневого узла конфигурации и устанавливаем параметр «Назначение использования» как «Мобильное устройство», флаг «Персональный компьютер» убираем. После этого станут доступны объекты мобильного приложения.  Часть объектов конфигурации станет недоступна.

2.5 Публикация конфигурации приложения

Следующим шагом осуществим перенос конфигурации на телефон. Для это в первую очередь создадим каталог, путь к этому каталогу должен быть коротким, не содержать пробелов и состоять только из латиницы, например C:\MobileApp. Далее заходим  Конфигурация –> Мобильное Приложение –> Публиковать. В появившемся окне заполним параметры:

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

Нажимаем кнопку опубликовать, после этого система спросит, нужно ли перезапустить Web-сервер, согласимся.

Убедимся, что все работает, зайдем в браузере по адресу http://localhost:8080/Mobapp/, мы должны увидеть следующий xml-файл:

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

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

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

Устанавливаем параметры:

  • «Перезапуск из конфигуратора» - Приложение будет автоматически обновляться   когда будет обновлен размещенный на веб-сервере XML файл конфигурации. 
  • «Отладка разрешена» - возможна пошаговая отладка приложения на мобильном устройстве из Конфигуратора на компьютере разработчика. Нажимаем кнопку «OK».

В случае если после нажатия кнопки «Загрузить» возникнет подобная ошибка:

То убедитесь, что на компьютере где опубликовано приложение, корректно настроен Межсетевой экран.

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

  1. Настройка обмена между ЦБ и мобильным приложением

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

Перейдем в конфигуратор мобильного приложения, создадим иерархический справочник под названием «Номенклатура». Добавим форму списка.

Зайдем в рабочую область начальной страницы и добавим туда форму списка справочника «Номенклатура», параметр «Шаблон начальной страницы» установим как «Одна колонка».

Нажмем кнопку «Обновить», приложение в телефоне должно обновится автоматически. Если нет, то выводим на панель кнопку  и нажмем её. На экране должно появиться следующее окно:

Следующим шагом создадим новую ИБ. В неё добавим справочник «Номенклатура», структура которого будет полностью повторять справочник «Номенклатура» мобильного приложения. Данная база будет выступать в роли Источника.

Создадим новый Web-сервис, назовем его «MobileExchange». В свойствах установим URI пространства имен «MobileExchange». В данном  Web-сервисе добавим новую операцию и называем её «ЗагрузитьТовары»

Теперь напишем код, который будет возвращать список товаров из базы источника в виде xml файла. Зайдем в свойства операции «ЗагрузитьТовары» и создадим новую функцию из поля «Имя метода».  В функции пропишем следующий код:

Опубликуем Web-сервис, для этого перейдем Администрирование  ->Публикация на Web-Сервере. В появившемся окне зададим имя Web-сервиса «MobileExchange» и снимем галочку «Публиковать тонкий клиент и Web-клиент». После этого нажмем кнопку «Опубликовать».

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

 Создаем у команды «Обновить номенклатуру» новое действие и пишем следующий код:

Обновляем конфигурацию.

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

Переходим в мобильное устройство, запускаем приложение, и нажимаем кнопку «Обновить номенклатуру». Если все сделано верно, то на экране должны появиться данные:

 

Заключение

Подведем итог нашей работы - у нас получилось с нуля настроить и разработать мобильное приложение и настроить его обмен с другой базой. Стоит отметить, что Мобильная платформа 1С позволяет делать это быстро и удобно.

 

Эта статья помогла вам?

Теги:

Комментарии ( 5 )

image
Аноним
09.06.2018 16:16:47

Извините, всё верно написано:


Прокси = Новый WSПрокси(Определение,"MobileExchange","MobileExchange","MobileExchangeSoap");
и всё работает!

image
Аноним
02.06.2018 20:43:35

нажимаем кнопку "Обновить номенклатуру" и... Ошибка при вызове конструктора (WSПрокси) по причине: Порт не найден.  {MobileExchange}: MobileExchange: MobileExchange

Очень странно написано:
Прокси = Новый WSПрокси(Определение,"MobileExchange","MobileExchange","MobileExchange");
И что, это только у меня не получилось? А хотелось бы чтобы получилось, так как статья очень хорошая.

image
Диана А.
05.03.2018 10:15:00

Добрый день! В ответ на ваш вопрос подготовили статью: https://1s-nik.ru/articles/show/otladka_na_mobilnom_prilozhenii. Надеемся, она будет полезной.

image
Диана А.
21.02.2018 16:12:06

Спасибо за идею! Попробуем подготовить вторую часть.

image
Аноним
21.02.2018 16:08:16

А могли бы вы написать про пошаговую отладку мобильного приложения?

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

Оставить комментарий