Часть 0: Разработка мобильных приложений 1С – Быстрый старт!
Часть 1: Разработка мобильных приложений 1С — Аутентификация пользователя.
Часть 3: Разработка мобильных приложений 1С — Обмен данными.
В этой небольшой статье, которая является началом цикла «Разработка мобильных приложений 1С», покажу, как можно быстро создать 1С мобильное приложение «Привет мир», на основе мобильной платформы 1С.
Для тестирования готового мобильного приложения 1С, будет использоваться реальное устройство на основе операционной системы Android, с использованием мобильной платформы для разработчиков и возможности отладки по протоколу HTTP.
Установка веб сервера Apache
1. Скачиваем скомпилированные файлы веб сервера Apache, весрии 2.2 (На момент написания, платформа 1С могла работать, только с указанной версией). Выбрать, откуда скачать, можно по адресу: https://httpd.apache.org/docs/current/platform/windows.html#down раздел «Downloading Apache for Windows». Например, используем сайт «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С.
Сделал всё так же, но отладка мобильного приложения не запускается. На телефоне приложение перезапускается при нажатии на Отладка мобильного приложения, но на точки не реагирует, и в конфигураторе нет признака отладки
Попробуйте проверить доступность портов отладки, с помощью браузера, как с компьютера на мобильный, так и в обратную сторону. Проверьте настройки firewall и антивируса.
Отладку в тонком клиенте победил тем, что выбрал Использовать сервер отладки кластера.
firewall отключен, антивируса нет.
Доступность какого порта надо проверить? В данный момент получается адрес отладки 192.168.1.209:1550.
он доступен и с мобильного и с компьютера. возвращает 1C:Enterprise 8.3 Debug Server (8.3.11.3034) © 1C-Soft LLC 1996-2017 — it works!
отладка на мобильном не работает.
так же заметил такую жуть:
Мобильная платформа 8.3.11.57 — не фокусируется камера при попытке просканировать штрихкод, подсветка тоже не загорается.
Мобильная платформа 8.3.10.84 — камера фокусируется, подсветка срабатывает если темно, но код СредстваМультимедиа.ЗакрытьСканированиеШтрихКодов(); не отрабатывает. Камера после сканирования не закрывается.
Устройство — xiaomi mi 5
Интересно, а если попробовать настроить отладку в эмуляторе Android, будут те же проблемы?
К сожалению нет возможности поставить эмулятор. Да и отлаживаю я сканирование штрихкодов.
Если поместить код СредстваМультимедиа.ЗакрытьСканированиеШтрихКодов() в процедуру обработки штрихкода — отрабатывает нормально, а если в процедуру Обработчик закрытия — не отрабатывает, хотя туда попадаю.
Фокусировку в 8.3.11.57 так и не смог победить. Заметил, что мобильная унф на 8.3.10.65 и перешел на 8.3.10.84.
Еще один момент, в моб приложении надо указывать сервер отладки?
Версия платформы мобильного приложения и версия установленной платформы должны совпадать. Либо версия установленной платформы должна быть выше. Несоответствие версий платформ
«Еще один момент, в моб приложении надо указывать сервер отладки?»
Да, необходимо указать адрес сервера отладки, см. пункт 5.
Большое спасибо за статью!