Мобильная 1С изнутри: сервер, обмен данными и путь приложения на телефон

· 9 мин

Содержание

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

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

Что сравниваемМобильный клиентМобильное приложение
Где хранятся данныеВ основной базе на сервереВ своей базе на устройстве
Нужна ли сетьДа, постоянно (автономный режим — только если его предусмотрели в конфигурации)Только для синхронизации
ДоработкаАдаптация форм основной конфигурацииОтдельная мобильная конфигурация + обмен
Как попадает на телефонПриложение из магазина, затем адрес базыСборка APK/AAB или IPA из своей конфигурации
Кто обычно выбираетОфис, руководитель, удалённый бухгалтерПолевые сотрудники, склады, выездная торговля

Архитектура 1С Мобайл: кто с кем и через что общается

В обоих вариантах центр системы — обычная информационная база на 1С:Предприятии 8.3, файловая или клиент-серверная. Телефон с ней напрямую не соединяется. Между ними всегда стоит веб-сервер — Apache или IIS — с установленным модулем расширения веб-сервера 1С.

Схема мобильного клиента:

  1. 📱 Мобильный клиент отправляет запросы по HTTP или HTTPS на адрес публикации, например https://erp.firma.ru/base/.
  2. 🌐 Веб-сервер передаёт запрос модулю 1С.
  3. 🖥️ Модуль работает с базой: для клиент-серверной — через агент сервера 1С (порт 1540) и далее через менеджер кластера и рабочие процессы.
  4. 📤 Результат — формы, списки, отчёты — возвращается на телефон. Код на сервере выполняется так же, как для тонкого клиента .

Схема мобильного приложения другая:

  1. 📱 На устройстве установлено приложение, внутри — мобильная платформа и файловая база.
  2. 🔁 Для обмена приложение вызывает веб-сервис или HTTP-сервис основной базы, опубликованный на том же веб-сервере.
  3. 🗂️ Основная база отдаёт изменения из плана обмена и принимает данные с устройства.

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

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

Публикация базы и настройка мобильного клиента

Без публикации на веб-сервере ни один из вариантов не заработает. Порядок одинаковый.

Шаг 1. Подготовьте веб-сервер

  1. Установите Apache или включите роль IIS на Windows Server.
  2. При установке платформы 1С отметьте компонент «Модули расширения веб-сервера».
  3. Разрядность модуля должна совпадать с разрядностью веб-сервера: 64-битный Apache — 64-битный модуль.

Шаг 2. Опубликуйте базу

  1. Запустите Конфигуратор от имени администратора Windows.
  2. Откройте Администрирование → Публикация на веб-сервере.
  3. Укажите имя публикации (оно станет частью адреса), веб-сервер и каталог.
  4. Для мобильного клиента достаточно публикации самой базы. Для мобильного приложения дополнительно отметьте нужные веб-сервисы или HTTP-сервисы.
  5. Нажмите «Опубликовать» и перезапустите веб-сервер, если Конфигуратор это предложит.

Проверка простая: откройте адрес публикации в браузере компьютера. Если появилось окно входа в 1С — публикация работает.

Перезапуск Apache или IIS обрывает текущие веб-сеансы: пользователи браузера и мобильных клиентов выпадут из базы. Делайте это вне рабочего времени или предупредите людей.

Шаг 3. Подключите телефон

  1. Установите приложение мобильного клиента 1С:Предприятия из магазина приложений (RuStore, Google Play или App Store — набор зависит от страны и устройства).
  2. Добавьте информационную базу и укажите адрес публикации целиком, вместе с именем базы.
  3. Введите логин и пароль пользователя информационной базы.

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

Синхронизация данных и офлайн-режим

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

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

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

Цикл синхронизации выглядит так:

  1. 📲 Приложение вызывает метод веб-сервиса основной базы, передаёт код своего узла и номер последнего принятого сообщения.
  2. 📦 Основная база выбирает зарегистрированные изменения и сериализует их в XML.
  3. 📥 Приложение записывает данные в свою базу и подтверждает приём.
  4. 📤 Затем выгружает своё: заказы, фото, отметки о доставке.
  5. ✅ После подтверждения регистрация изменений удаляется, и в следующий раз они не придут повторно.

Нумерация сообщений защищает от потерь. Если связь оборвалась на шаге 3, подтверждения не было — значит, при следующем сеансе пакет придёт снова.

Что важно продумать заранее

  • 🎯 Объём. Не отправляйте на телефон весь справочник номенклатуры на 80 тысяч позиций. Фильтруйте по складу, маршруту или менеджеру.
  • ⚔️ Конфликты. Решите, чья правка главнее, если документ изменили и в офисе, и на устройстве. Обычно приоритет отдают центральной базе.
  • 🆔 Уникальность. Документы, созданные на телефоне, нумеруйте с префиксом устройства, чтобы номера не пересекались.
  • 🖼️ Файлы. Фото и подписи клиентов передавайте отдельными вызовами, а не одним огромным пакетом.

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

Требования к инфраструктуре и защита данных

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

КомпонентТребование
Веб-серверApache или IIS с модулем 1С той же версии, что и сервер 1С
ПротоколТолько HTTPS с сертификатом от доверенного центра
Сервер 1СВерсия платформы 8.3, совпадающая с модулем веб-сервера
КаналСтабильный внешний IP или доменное имя, открытый порт 443
УстройстваАктуальные Android или iOS, поддерживаемые текущей мобильной платформой

Минимальный набор мер безопасности

  1. 🔒 HTTPS. Мобильные ОС по умолчанию не доверяют самоподписанным сертификатам. Возьмите сертификат Let’s Encrypt или купленный — так вы заодно избавитесь от ошибок подключения.
  2. 👤 Отдельный пользователь для обмена. Веб-сервис работает от имени пользователя информационной базы. Дайте ему роль только на нужные объекты, без полных прав.
  3. 🚫 Ничего лишнего наружу. Публикуйте только ту базу и те сервисы, что нужны телефонам. Тестовые и копии баз в интернет не выставляйте.
  4. 🧱 Сетевой экран. Наружу открыт только 443. Порты кластера 1540, 1541 и диапазон рабочих процессов должны быть доступны лишь внутри сети.
  5. 📵 Утерянный телефон. Заблокируйте пользователя ИБ или пометьте узел обмена, чтобы устройство больше не получало данные.

Публикация без HTTPS передаёт логин и пароль пользователя 1С открытым текстом. В общественном Wi-Fi их легко перехватить.

Разработка и отладка мобильного приложения

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

Как начать

  1. Создайте новую конфигурацию или откройте существующую.
  2. В свойствах корня конфигурации найдите «Назначения использования» и отметьте мобильное устройство.
  3. После этого Конфигуратор начнёт подсвечивать объекты и методы, недоступные на мобильной платформе. Например, на устройстве нет регистров бухгалтерии и некоторых видов отчётов.
  4. Разделите код по директивам компиляции: мобильная платформа исполняет модули локально, но требования к контексту клиента и сервера сохраняются.

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

Для отладки не нужно собирать APK после каждой правки.

  1. Установите на устройство мобильную платформу для разработчика. Она входит в дистрибутив мобильной платформы той же версии.
  2. В Конфигураторе выгрузите мобильное приложение: Конфигурация → Мобильное приложение → Публиковать. Публикация ляжет на веб-сервер.
  3. На устройстве в платформе разработчика укажите адрес этой публикации. Приложение загрузится и обновится при следующей публикации.
  4. Для пошаговой отладки включите в Конфигураторе отладку по протоколу HTTP и разрешите её на устройстве. Компьютер и телефон должны видеть друг друга по сети.

Сборка для распространения

Готовое приложение собирают конфигурацией «Сборщик мобильных приложений» из комплекта мобильной платформы.

  • 🤖 Android: нужны JDK, Android SDK и ключ подписи. Результат — APK для прямой установки или AAB для публикации в магазине.
  • 🍏 iOS: нужен компьютер Mac с Xcode и аккаунт разработчика Apple. Собрать IPA на Windows нельзя.
  • 🔑 Ключ подписи Android храните в надёжном месте. Потеряете его — обновлять приложение в магазине под тем же именем станет невозможно.

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

Ошибки 1С Мобайл и как их устранять

Большинство проблем сводится к трём местам: публикация, сертификат и права пользователя. Ниже — диагностика по симптому.

Диагностика: выберите симптом

Если не помогло

  • 🧪 Сделайте простой HTTP-сервис с одним методом, который возвращает строку «ok». Если и он не отвечает с телефона — проблема в сети или публикации, а не в коде обмена.
  • 📜 Посмотрите журнал веб-сервера: для Apache это access.log и error.log, для IIS — журналы в каталоге inetpub\logs. Видно, дошёл ли запрос вообще.
  • 📶 Проверьте с телефона через мобильный интернет, а не через офисный Wi-Fi: часто снаружи адрес недоступен из-за правил проброса портов.

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

Можно ли работать в типовой Бухгалтерии с телефона без программиста?
Да, через мобильный клиент. Достаточно опубликовать базу на веб-сервере с HTTPS и подключить приложение по адресу публикации.
Нужен ли белый IP для мобильной 1С?
Нужен адрес, доступный из интернета: статический IP или доменное имя. Вместо открытия порта можно использовать VPN, тогда телефон подключается к внутреннему адресу.
Подойдёт ли файловая база?
Подойдёт для небольшой команды. Веб-сервер работает с файловой базой напрямую, но при десятке одновременных мобильных пользователей лучше перейти на клиент-серверный вариант.
Чем мобильное приложение отличается от мобильного клиента по лицензиям?
Мобильный клиент занимает клиентскую лицензию основной базы, как тонкий клиент. Условия для приложений на мобильной платформе отличаются и зависят от способа распространения — уточняйте их у партнёра 1С перед выпуском.
Сколько данных можно хранить на телефоне?
Ограничение задаёт память устройства и скорость работы, а не платформа. Практически держат десятки тысяч записей справочников и текущие документы, а историю оставляют в центральной базе.