Каталог решений - Включение обновления мобильных конфигураций via http

Включение обновления мобильных конфигураций via http

Включение обновления мобильных конфигураций via http

В наличии

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

Категория:

Описание

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

  1. для разработчика со списком баз и обновлением через http
  2. конечное приложение с одной конфигурацией

Но у конечного приложения есть один нюанс — нет обновления конфигурации. Торговые представители постоянно в полях, да еще и по городам раскиданы. Периодическая передача нового apk неудобна и  громоздка, на google play публиковать конфигурацию для своих нет желания, а каждый раз после запуска выбирать в окне нужную конфигурацию конечные пользователи не хотят.

Покопавшись немного во внутренностях МП нашел интересную вещь: платформа одна и та же, механизмы есть, просто они недоступны. По сути есть файл ibases.v8i (как и в десктопной версии) со списком конфигураций и в нем путь к шаблону конфигурации прописан в параметре «AdditionalParameters=».

В конечном приложении в параметре ссылка на локальный шаблон, в приложении для разработчика это http ссылка. Попытался заменить одну на другую — заработало. Но можно ли это сделать на планшетах торговых? Они-то не рутованы как мой телефон. Помогла статья //sale.itcity.ru/public/464479/. Оказалось, что МП имеет полный доступ к своей папке. Осталось только внедрить замену текста.

В строке нужно прописать полный путь к файлу с конфигурацией:

AdditionalParameters=http://mysite.ru/1cema.xml

Если у вас файл отдается с авторизацией, то так:

AdditionalParameters=http://login:password@mysite.ru/1cema.xml

В результате в окно настроек приложения были добавлены поле для ввода пути обновления «ПутьОбновленияКонфигурации» и кнопка, применяющая эти настройки. Путь к файлу конфигурации специально храню в константе, поскольку у меня все настройки пользователю передаются через конфигурационный e-mail для исключения ошибки ввода.

И на кнопку прописан патч нужного нам файла:

&НаКлиенте
Процедура кмПатч(Команда)
    #Если МобильноеПриложениеКлиент Тогда
    масФайлы = НайтиФайлы("/data/data/<ИДЕНТИФИКАТОР ПРИЛОЖЕНИЯ КАК УКАЗАН В СБОРЩИКЕ>/files/","*.v8i",Истина);
    ФайлСпискаБаз = Новый ЧтениеТекста(масФайлы[0].ПолноеИмя);
    Текст = ФайлСпискаБаз.Прочитать();
    ФайлСпискаБаз.Закрыть();
    
    перПозиция = СтрНайти(Текст,"AdditionalParameters=");
    Если перПозиция>0 Тогда
        ФайлСпискаБаз = Новый ЗаписьТекста(масФайлы[0].ПолноеИмя);
        ФайлСпискаБаз.Записать(Лев(Текст,перПозиция+20)+ПутьОбновленияКонфигурации);
        ФайлСпискаБаз.Закрыть();
    КонецЕсли;    
    #КонецЕсли
КонецПроцедуры

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

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

 Код не оптимальный и будет переписан — в статье пытался передать сам вариант решения.

has been added to your cart:
Оформление заказа