При разработке для мобильной платформы 1С программисты часто сталкиваются с ситуацией: изменения в конфигурацию внесены, публикация на веб-сервере обновлена, но мобильные устройства (ТСД или смартфоны со встроенными сканерами) продолжают работать на старой версии. Давайте подробно разберем, почему стандартные механизмы обновления могут не срабатывать, и как правильно организовать процесс доставки изменений до конечных пользователей.
Для начала проанализируем ситуацию, описанную в теме. В конфигураторе 1С существует два пути публикации базы на веб-сервере. Выясним причину, почему это не одно и то же.
default.vrd. Однако для автономного мобильного приложения этого недостаточно.1c-application.xml. Именно этот файл содержит информацию о текущей версии конфигурации, которую мобильное устройство считывает при проверке обновлений.Важный вывод: если системные администраторы опубликовали базу через меню «Администрирование», мобильная платформа на ТСД просто не увидит уведомления о том, что версия конфигурации изменилась. Для корректной работы автономных мобильных приложений необходимо использовать исключительно второй способ.
Прежде чем приступать к отладке обновления, давайте определим, какой именно программный продукт установлен на мобильном устройстве. От этого зависит логика обновления:
Если на ТСД база открывается даже при выключенном Wi-Fi (после первого входа), значит, вы используете Мобильное приложение, и вам критически важно настроить механизм доставки обновлений конфигурации.
Рассмотрим правильную последовательность действий программиста для того, чтобы изменения гарантированно попали на устройства:
Иногда проблема кроется на стороне веб-сервера (IIS или Apache). Разберем ситуацию: конфигуратор отработал штатно, файлы созданы, но мобильное устройство выдает ошибку при попытке их скачать. Это происходит из-за того, что веб-сервер «не знает», как отдавать специфические файлы 1С.
Попросите системного администратора проверить настройки MIME-типов. Для корректной работы мобильной платформы сервер должен поддерживать передачу расширений .xml, .vrd и не иметь ограничений на скачивание бинарных данных из каталога публикации.
Если автоматическое уведомление об обновлении не появляется, мы можем инициировать его вручную на ТСД. Рассмотрим доступные способы:
Проанализируем, как мобильная платформа понимает, что пора обновляться. Процесс выглядит так:
При запуске (или по расписанию) мобильное приложение обращается к веб-серверу по адресу публикации и запрашивает файл 1c-application.xml. Платформа сравнивает локальный идентификатор версии с тем, что указан в этом файле. Если на сервере версия выше — начинается процесс загрузки.
Посмотрим на пример структуры, которую генерирует 1С (упрощенно):
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://www.1c.ru/8.3/mobile/application"
name="MyMobileApp"
version="1.0.0.5">
<configuration>...</configuration>
</application>
Если вы просто обновили публикацию через «Администрирование», этот файл может не обновиться, и атрибут version останется прежним. В этом случае мобильное устройство будет считать, что у него уже установлена актуальная версия.
Выясним причину, по которой обновления могут «зависать» на специфическом оборудовании. ТСД часто имеют агрессивные настройки энергосбережения. Если приложение 1С работает в фоне, ОС Android может блокировать сетевую активность для проверки обновлений. Мы рекомендуем пользователям полностью закрывать приложение (через список запущенных программ) и открывать его заново для гарантированной проверки версии конфигурации на сервере.
Используя данные рекомендации, вы сможете обеспечить стабильную доставку доработок на мобильные устройства и минимизировать простои в работе склада или мобильных сотрудников.