К статье
Практический материал

Автоматизация · 11 мин

Как работает 1С Мобайл: устройство платформы и практика запуска

Как устроена мобильная платформа 1С: автономные и клиент-серверные приложения, синхронизация данных, публикация, типичные ошибки и проверка результата.

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

Существует два принципиально разных подхода. Первый — автономное мобильное приложение: вся логика и данные хранятся на устройстве, а обмен с основной учётной системой идёт периодически через веб-сервисы, HTTP или планы обмена. Второй — мобильный клиент: приложение подключается к серверу 1С и работает с центральной базой в режиме, близком к реальному времени. Выбор между ними определяется задачей: торговому представителю в поле обычно нужна автономность, а менеджеру в офисе достаточно клиентского доступа.

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

Из чего состоит мобильная платформа 1С

Мобильная платформа включает исполняемое ядро для Android и iOS, средства разработки в конфигураторе и механизм сборки готового приложения. Разработчик создает мобильную конфигурацию — упрощённую версию прикладного решения, где доступны основные объекты метаданных: справочники, документы, регистры сведений и накопления, планы обмена, отчёты. Часть возможностей настольной платформы недоступна: например, ограничены виды клиентских приложений и некоторые механизмы интерфейса.

На устройстве платформа разворачивает локальную файловую базу данных. Она хранится в защищённом хранилище приложения и работает полностью автономно: пользователь может создавать документы, вести справочники и строить простые отчёты без интернета. При появлении связи приложение обменивается изменениями с центральной системой.

Для сборки самостоятельного приложения используется сборщик мобильных приложений — отдельный инструмент, который упаковывает конфигурацию и платформу в APK для Android или пакет для iOS. Для iOS потребуется учётная запись разработчика Apple и корректно настроенные сертификаты, что часто становится первым организационным барьером при внедрении.

Два режима работы: автономное приложение и мобильный клиент

Автономное приложение устанавливается на устройство как обычная программа и содержит собственную базу. Вся бизнес-логика — проведение документов, расчёты, проверки — выполняется локально. Это даёт главное преимущество: работа не зависит от качества связи. Расплата за автономность — необходимость проектировать обмен данными и решать конфликты, когда один и тот же объект изменён и в поле, и в офисе.

Мобильный клиент, напротив, не хранит данные локально (кроме кэша) и обращается к опубликованной на веб-сервере базе. Изменения видны сразу всем пользователям, конфликтов синхронизации нет. Но при потере связи работа останавливается, а каждое действие пользователя порождает обращения к серверу, что повышает требования к каналу и серверным ресурсам.

Сравнение вариантов

Автономное приложение

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

Мобильный клиент

Подходит для руководителей и сотрудников с постоянным доступом к сети: согласование документов, просмотр отчётов. Ограничение — без связи приложение не работает.

Гибридный сценарий

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

Как устроена синхронизация данных

Классическая схема обмена выглядит так: в центральной базе публикуется веб-сервис или HTTP-сервис, мобильное приложение периодически вызывает его, передаёт накопленные изменения и забирает обновления справочников и документов. Для отслеживания изменений используются планы обмена с регистрацией изменений по узлам — механизм, хорошо знакомый по обменам между настольными базами 1С.

Данные обычно сериализуются в XML или JSON. Для небольших объёмов достаточно простых HTTP-запросов с JSON-структурами — их проще отлаживать. Планы обмена удобнее, когда объектов много и важна гарантированная доставка: платформа сама отслеживает, какие изменения уже отправлены и приняты, по номерам сообщений.

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

Порядок настройки обмена
  1. 1
    Определите состав данных, которые нужны на устройстве, и отсеките лишнее
  2. 2
    Опубликуйте в центральной базе HTTP-сервис или веб-сервис для приёма и выдачи данных
  3. 3
    Настройте план обмена с узлом для каждого мобильного устройства или реализуйте регистрацию изменений вручную
  4. 4
    Реализуйте в мобильной конфигурации процедуры отправки и загрузки пакетов с обработкой ошибок связи
  5. 5
    Протестируйте обмен на копии базы: прерывание связи, повторная отправка, конфликт изменений
  6. 6
    Настройте расписание фоновой синхронизации или синхронизацию по кнопке пользователя

Разработка и сборка приложения

Разработка ведётся в обычном конфигураторе 1С, но с учётом ограничений мобильной платформы. Интерфейс строится из форм, оптимизированных под сенсорный экран: крупные элементы, минимум полей на экране, свайпы и жесты вместо контекстных меню. Код пишется на встроенном языке, при этом доступны мобильные средства: камера, геопозиционирование, сканирование штрихкодов, push-уведомления, работа с контактами устройства.

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

bsl
// Пример: отправка данных на сервер из мобильного приложения
Соединение = Новый HTTPСоединение("server.example.com", 443, , , , 30, Новый ЗащищенноеСоединениеOpenSSL);
Запрос = Новый HTTPЗапрос("/base/hs/mobile/exchange");
Запрос.УстановитьТелоИзСтроки(СтрокаJSON);
Ответ = Соединение.ОтправитьДляОбработки(Запрос);
Если Ответ.КодСостояния = 200 Тогда
    // разбор ответа и подтверждение приёма пакета
КонецЕсли;

Безопасность и типичные риски

Мобильное устройство физически уязвимее сервера: его можно потерять, украсть, оставить без присмотра. Поэтому канал обмена должен быть защищён TLS, аутентификация — не сводиться к логину и паролю в открытом виде в коде. Разумный минимум — отдельная учётная запись для мобильного обмена с правами только на нужные объекты и сервисы.

Второй риск — потеря несинхронизированных данных. Если устройство сломалось до обмена, документы, созданные в поле, восстановить будет неоткуда. Снижает риск частая автоматическая синхронизация и явная индикация для пользователя: сколько документов ещё не отправлено.

Проверка результата и частые ошибки

После запуска обмена проверьте не только факт передачи, но и качество данных. Документы, созданные на устройстве, должны появиться в центральной базе с корректными реквизитами, без дублей контрагентов и номенклатуры. Дубли — самый частый симптом плохо спроектированного сопоставления объектов: надёжнее синхронизировать по уникальному идентификатору ссылки, а не по наименованию или коду.

Контрольные точки

Как проверить результат

Документ с устройства в центральной базе
Норма

Появился один раз, реквизиты совпадают, проведён по правилам центральной базы

Тревожный признак

Документ дублируется при повторной синхронизации или приходит с пустыми полями

Справочники на устройстве
Норма

Актуальные данные, нет устаревших позиций и дублей

Тревожный признак

Номенклатура задваивается, удалённые в центре позиции остаются на устройстве

Поведение при обрыве связи
Норма

Приложение сохраняет данные локально и повторяет отправку при восстановлении сети

Тревожный признак

Пакет теряется, пользователь не видит, что данные не отправлены

Скорость синхронизации
Норма

Обмен занимает секунды или минуты при типичном объёме

Тревожный признак

Каждая синхронизация передаёт полную выгрузку и занимает десятки минут

Типичные ошибки
01
Выгрузка на устройство полного справочника номенклатуры — приложение тормозит, обмен растягивается, трафик растёт
02
Сопоставление объектов по наименованию вместо GUID — при переименовании появляются дубли
03
Отсутствие обработки обрыва связи — пользователь считает данные отправленными, а пакет потерян
04
Хранение пароля к сервису обмена прямо в коде конфигурации — компрометация доступа при утечке приложения
05
Отсутствие регламентной очистки старых данных на устройстве — локальная база разрастается и замедляет работу

Когда мобильная платформа не нужна

Не каждая задача требует разработки мобильного приложения. Если сотрудникам нужно только согласовывать документы и смотреть отчёты, часто достаточно веб-клиента 1С, открытого в браузере смартфона, или готовых мобильных решений от фирмы «1С» и партнёров. Собственная разработка оправдана, когда нужны офлайн-режим, работа с оборудованием устройства (сканер, камера, геолокация) и специфичные бизнес-процессы, которых нет в типовых продуктах.

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

Маршрут решения

Как выбрать действие

Сотрудники работают там, где связь нестабильна или отсутствуетРазрабатывайте автономное приложение с локальной базой и синхронизацией
Нужен только просмотр данных и согласование при постоянном интернетеИспользуйте мобильный клиент или веб-клиент в браузере — без отдельной разработки
Нужны сканер штрихкодов, камера или геолокация в процессе работыНужна мобильная платформа: эти средства доступны только в мобильном приложении
Нет ресурсов на сопровождение отдельной конфигурацииРассмотрите готовые мобильные решения и типовые механизмы обмена

Частые вопросы

Можно ли запустить обычную конфигурацию 1С на смартфоне без доработки?

Полноценно — нет. Мобильная платформа поддерживает ограниченный состав объектов и интерфейсных возможностей, поэтому типовую конфигурацию требуется адаптировать: упростить интерфейс под сенсорный экран, убрать неподдерживаемые механизмы и спроектировать обмен данными. Проще создать отдельную мобильную конфигурацию под конкретные задачи.

Работает ли мобильное приложение 1С без интернета?

Автономное приложение работает полностью офлайн: документы, справочники и расчёты доступны локально. Интернет нужен только для синхронизации с центральной базой. Мобильный клиент, напротив, без связи с сервером не работает.

Как обновить мобильное приложение у пользователей?

Обновление зависит от способа распространения: через магазины приложений обновления приходят штатно, при прямой установке APK файл нужно распространять и устанавливать вручную или через системы управления мобильными устройствами (MDM). Конфигурацию внутри приложения в ряде сценариев можно обновлять программно при запуске.

Что делать, если один и тот же документ изменили и на устройстве, и в центральной базе?

Это конфликт синхронизации, и его нужно обрабатывать в логике обмена. Типовые стратегии: приоритет центральной базы, приоритет последнего изменения по времени или запрет редактирования в центре объектов, созданных в поле. Правило выбирается под бизнес-процесс и должно быть зафиксировано до запуска.

Нужна ли отдельная лицензия на мобильную платформу?

Лицензионная политика зависит от сценария использования и версии платформы. Автономные мобильные приложения и подключения мобильных клиентов к серверу лицензируются по-разному; актуальные условия следует уточнять в лицензионном соглашении и у официального партнёра до начала внедрения.

Итог

Что важно запомнить

1С Мобайл работает в двух режимах: автономное приложение с локальной базой и синхронизацией либо мобильный клиент к серверу. Успех внедрения определяется тремя вещами: минимальным составом выгружаемых данных, надёжным обменом с обработкой обрывов связи и конфликтов, защищённым каналом с отдельной учётной записью для обмена.