Разработка конфигураций для мобильных устройств на 1С (мобильные приложения на 1С)

Содержание

Необходимый минимум для разработки мобильных приложений 1С

  1. Web-сервер Apache той же разрядности что и платформа 1С, на которой ведется разработка. Или IIS настроенный в режим разрешения x32 разрядных приложений.
  2. Эмулятор Android или физическое Android устройство (телефон/планшет).
  3. Android SDK.
  4. Дистрибутивы 1С мобильной платформы и мобильного клиента той же версии что и платформа 1С в которой в конфигураторе ведется разработка.

Установка эмулятора Andoroid

Эмуляторы требуют включения виртуализации. Обычно включается в BIOS.Могут понадобиться дополнительные настройки компонент Windows изложенные здесь.

Данный фрагмент материала в стадии разработки. В целом у меня есть 2 пакета эмуляторов для старых версий и для новых версий. Использую их.

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

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

Для связи с мобильным устройством (телефон/эмулятор) необходимо настроить использование Android Debug Bridge (ADB). Для этого в главном меню Сервис открыть Параметры, выбрать вкладку Запуск 1С:Предприятия-вкладка Мобильные приложения. Далее, установить галку Использовать Android debug bridge для запуска мобильных приложений и прописать каталоги к Android SDK. В пути Android SDK должны быть только английские символы!

Настройка используемой функциональности

В свойствах конфигурации выбрать в свойстве Используемая функциональность те методы мобильной платформы 1С которыми будем пользоваться. У меня это Мультимедиа: камера мобильного телефона и доступ к библиотеке картинок и видео (галерея). Также я запросил доступ ко всем файлам чтобы выбирать в мобильном приложении произвольные файлы, доступные на устройстве.

Используемая функциональность это те разрешения, которые будет запрашивать наше приложение у пользователя. Без запроса у пользователя разрешения, наше приложение не будет работать корректно.

Когда и когда происходит установка мобильной платформы на мобильное устройство?

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

В окне сообщений конфигуратора будет подобный лог:

Подготовка к запуску Android Debug Bridge...
Поиск подключенных устройств...
Выполняется подключение к устройству emulator-5554.
Ожидание готовности внешней памяти...
Поиск мобильной платформы на устройстве...
Установка мобильной платформы на устройство...
Мобильная платформа успешно установлена.
Перенос мобильной конфигурации на устройство...
Запуск мобильной платформы...
Мобильная платформа успешно запущена.

Другой вариант установки мобильной платформы

Главное меню конфигуратора: Конфигурация-Мобильное приложение-Использовать Android Debug Bridge-Установить мобильную платформу

Публикация мобильного приложения на web-сервере

Запустите конфигуратор от имени Администратора – без этого публикация и перезапуск веб-сервера работать не будут корректно.

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

  • установите флажок Создать виртуальный каталог на веб-сервере
  • задайте Имя для публикации без пробелов
  • Выберите правильную версию установленного веб-сервера – у меня это Apache 2.4
  • Задайте без пробелов и русских символов каталог для публикации мобильного приложения на веб-сервере
  • Нажмите Опубликовать

Проверка публикации через браузер

необходимо обратиться к веб-серверу по псевдониму заданному при публикации у меня это следующая строка адреса браузера

http://127.0.0.1/my_android_app_1c/

Установка разработанного мобильного приложения в телефоне/эмуляторе

При публикации установка производится автоматически.

Ручное добавление опубликованного на web-сервере приложения 1С

При необходимости ручной установки разработанного и опубликованного мобильного приложения, нужно наверху справа нажать кнопку +

Это изображение имеет пустой атрибут alt; его имя файла - image-27.png

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

Наверное, если вы ведете разработку на эмуляторе вы публиковались без авторизации, поэтому нужно только заполнить Адрес

Сколько пользователей можно создавать в мобильных приложениях 1С?

У мобильных приложений есть только один пользователь он или анонимный или созданный программно.

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

ЗавершениеРаботыСистемы(Ложь,Истина);

Авторизация пользователей мобильного приложения

В мобильных приложениях 1С есть только либо анонимный пользователь либо 1 пользователь.

Если ПользователиИнформационнойБазы.ПолучитьПользователей().Количество() = 0 Тогда
    
    Пользователь = ПользователиИнформационнойБазы.СоздатьПользователя();
    Пользователь.Имя = "УниверсальныйМобильныйПользователь";
   Пользователь.Роли.Добавить(Метаданные.Роли.ПолныеПраваИлиДругаяРольДающаяПрава);
    Пользователь.Роли.Добавить(Метаданные.Роли.ИмяРолиДающейДоступКНужнымФормамИлиКУниверсальнойФорме;
    
    Пользователь.Записать();
ЗавершитьРаботуСистемы(Ложь, Истина);
КонецЕсли;

Авторизация в мобильном приложении в клиент-серверной архитектуре

Сервер – это база обрабатывающая запросы web-сервисов, клиент – это само мобильное приложение

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

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

Если ПользователиИнформационнойБазы.ПолучитьПользователей().Количество() = 0 Тогда
    
    Пользователь = ПользователиИнформационнойБазы.СоздатьПользователя();
    Пользователь.Имя = "УниверсальныйМобильныйПользователь";
    
    Пользователь.Роли.Добавить(Метаданные.Роли.ПолныеПраваИлиДругаяРольДающаяПрава);
    Пользователь.Роли.Добавить(Метаданные.Роли.ИмяРолиДающейДоступКНужнымФормамИлиКУниверсальнойФорме;
    
    Пользователь.Записать();

    ЗавершитьРаботуСистемы(Ложь, Истина);
КонецЕсли;

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

Ведение списка пользователей мобильного приложения 1С, как в Desktop платформы 1С

Если нужен список пользователей, то он будет доступен только в мобильном клиенте, но при этом на каждого пользователя будет тратиться клиентская лицензия. Мобильное приложение 1С не имеет возможности вести список пользователей. В нем всегда будет максимум 1 пользователь.

Как тратить меньше лицензий 1С в мобильной разработке на серверной базе?

Ответ: Использовать web-сервисы и http-сервисы. Они не тратят лицензий.

При обращениях к Web-сервису или http-сервису 1С клиентские лицензии не тратятся. Возможно неограниченное количество подключений в пределах производительности web-сервера.

Безопасность Web-сервисов, обслуживающих мобильное приложение

Правило: права web-сервису не выдавать вообще. Использовать в коде операций web-сервиса

УстановитьПривелегированныйРежим(Истина);

Какие версии протокола SOAP поддерживают web-сервисы 1С?

Web-сервисы 1С поддерживают протоколы SOAP 1.0 и SOAP 1.2

Плейлист по разработке мобильных приложений

Плейлист уроки мобильной разработки 1С от Никиты Вельмаскина

Телеграм чат по мобильной разработке

Книга Хрусталевой по разработке мобильных приложений

Сайт-каталог мобильной платформы 1С

Видео про использование сервиса сборки мобильных приложений

+ Нет комментариев

Добавить свой