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

Программист 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием Управленческий учет
← На главную

Работа мобильных сотрудников (монтажников, курьеров, торговых представителей) часто связана с местами, где отсутствует стабильное интернет-соединение. Использование типового мобильного клиента 1С:ERP в таких условиях становится невозможным, если не настроен специальный автономный режим. В этой статье мы подробно разберем, как заставить стандартный мобильный клиент работать в оффлайне, почему он может «игнорировать» настройки автономной конфигурации и как правильно организовать синхронизацию данных, используя в том числе ТСД Аматеро — специализированное решение для Андроид (есть готовое мобильное приложение для 1С:ERP с поддержкой ТСД), если ваша работа связана с сериями номенклатуры.

Понятие мобильного клиента с автономным режимом

Для начала проанализируем, чем мобильный клиент с автономным режимом (МКА) отличается от обычного мобильного приложения. Ообычный мобильный клиент — это, по сути, «тонкий клиент» для мобильного устройства, который требует постоянной связи с сервером. Однако технология МКА позволяет «откусить» часть функционала основной конфигурации и упаковать его в локальную базу на устройстве. Когда связь есть — пользователь работает напрямую с базой ERP. Когда связь пропадает — он продолжает работу в локальной базе с ограниченным набором объектов, определенных в АвтономнаяКонфигурация.

Почему мобильный клиент ERP не видит автономный режим?

Рассмотрим ситуацию: вы добавили документы в состав автономной конфигурации, обновили базу, но мобильный клиент всё равно требует интернет и не дает зайти в оффлайн. Выясним причину этого поведения. Оказывается, мобильный клиент 1С:ERP (скачанный из магазина приложений) автоматически подтягивает автономную часть только в том случае, если она была скомпилирована без единой ошибки.

Если в процессе сборки автономной конфигурации на стороне сервера возникают ошибки (например, обращение к объектам, которые не входят в состав автономной базы), система «тихо» игнорирует обновление автономной части. В итоге клиент остается чисто «онлайновым». Чтобы вовремя диагностировать подобные проблемы, рекомендуется проводить регулярный анализ конфигураций на наличие ошибок, связанных с вызовом функций общих модулей.

Пошаговая инструкция по активации автономного режима

Разберем алгоритм действий, который поможет гарантированно запустить оффлайн-режим в типовом решении:

  1. Откройте конфигуратор вашей базы ERP.
  2. Перейдите в свойства корневого узла конфигурации и найдите пункт Состав автономной конфигурации. Убедитесь, что там отмечены нужные документы, справочники и роли.
  3. Выполните проверку целостности. Для этого зайдите в меню Администрирование — Тестирование и исправление.
  4. В появившемся окне оставьте выбранным только один пункт: Пересоздание автономной конфигурации.
  5. Запустите процесс. После завершения внимательно изучите окно сообщений.

Проанализируем результаты тестирования. Если после строки «Пересоздание автономной конфигурации» сразу идет сообщение об окончании процесса — поздравляем, ваша конфигурация готова. Однако чаще всего вы увидите список ошибок в различных модулях.

Исправление ошибок компиляции для автономного сервера

Большинство ошибок возникает из-за того, что серверный код ERP пытается обратиться к функционалу, недоступному на мобильном устройстве (например, к COM-объектам, специфическим библиотекам Windows или просто к объектам метаданных, не включенным в автономный режим). Рассмотрим, как правильно изолировать такой код.

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


#Если НЕ МобильныйАвтономныйСервер Тогда
    // Код, который работает только в полноценной ERP на Windows/Linux
    Результат = ВыполнитьСложныйРасчетНаСервере();
#Иначе
    // Альтернативная логика для мобильного устройства или пустая заглушка
    Результат = Ложь;
#КонецЕсли

Важно помнить, что проверка «Тестирование и исправление» за один проход может показать ошибки только в одном модуле — поможет инструментарий отладки и анализа кода 1С. Поэтому процедуру пересоздания автономной конфигурации нужно запускать итерационно: исправили ошибки — запустили снова — получили новый список — исправили.

Механизм синхронизации данных и фильтрация

Когда мы добились того, что мобильный клиент «увидел» автономную конфигурацию, встает вопрос обмена данными. Мы не можем выгрузить всю базу ERP на телефон. Разберем, как работают фильтры.

В платформе 1С реализован механизм Автономного сервера. При настройке состава автономной конфигурации для каждого объекта (например, документа «Заказ наряд») можно настроить Фильтр обмена данными. Проанализируем, как это реализовать программно.

Посмотрим на пример настройки фильтра в коде модуля:


Процедура ПриОпределенииДанныхАвтономнойКонфигурации(Настройки) Экспорт
    // Устанавливаем фильтр для документа "ЗаявкаНаВыезд"
    Фильтр = Настройки.Фильтры.Добавить("Документ.ЗаявкаНаВыезд");
    Фильтр.Использование = ИспользованиеФильтраАвтономнойКонфигурации.ПоЗначениюРеквизита;
    Фильтр.ИмяРеквизита = "Ответственный";
    Фильтр.Значение = ПараметрыСеанса.ТекущийПользователь;
КонецПроцедуры

Особенности публикации на веб-сервере

Чтобы магия автономности сработала, публикация информационной базы на IIS или Apache должна быть выполнена корректно. Выясним основные требования:

Лицензирование и отладка

Рассмотрим важный экономический и технический аспект. Пока устройство находится в сети, мобильный клиент занимает одну лицензию на сервере 1С. В момент ухода в оффлайн (автономный режим) лицензия не требуется, так как работа идет с локальной базой данных SQLite на самом телефоне. Чтобы упростить поиск товаров в условиях оффлайна, можно реализовать нечеткий поиск и идентификацию объектов, что крайне полезно при отсутствии постоянной связи с основным сервером.

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

Выводы: стоит ли использовать МКА или писать свое приложение?

Проанализировав ситуацию, можно сделать вывод: если вам нужно сохранить 100% идентичность интерфейса ERP (те же формы, те же кнопки) и функционал ограничивается 3-5 документами, то Мобильный клиент с автономным режимом — лучшее решение. Оно позволяет избежать разработки сложного API и написания обменов с нуля. При этом вы можете дополнительно настроить видимость реквизитов документов по пользователям или точечно ограничить доступность реквизитов справочников, чтобы упростить мобильный интерфейс.

Однако, если формы в вашей ERP перегружены сложной логикой, множеством вкладок и тяжелыми обработчиками событий, мобильное устройство может работать медленно. В этом случае стоит рассмотреть создание отдельного Мобильного приложения на платформе 1С с упрощенным интерфейсом, которое будет обмениваться данными с основной базой через HTTP-сервисы. Для этой задачи есть мобильный клиент ТСД с офлайн-режимом для 1С:ERP.

← На главную