Как начать мобильную разработку на 1С для склада: мобильный клиент vs мобильная платформа

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

При старте в мобильной разработке на 1С часто возникает множество вопросов, особенно если стоит задача автоматизировать складские операции: сканирование товаров, проведение инвентаризации, просмотр остатков с помощью ТСД на Android. Разберем ключевые концепции, с которых стоит начать, и ответим на самые частые вопросы новичков.

Мобильный клиент или мобильная платформа: в чем разница и что выбрать?

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

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

Представьте, что мобильный клиент — это аналог «тонкого клиента» или «веб-клиента», но для смартфона или ТСД. Он не хранит данные на устройстве (кроме кэша для интерфейса) и работает в режиме постоянного подключения к основной базе данных через интернет (Wi-Fi или мобильная сеть).

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

2. Мобильная платформа

Это полноценная среда для создания автономных (standalone) мобильных приложений. Такое приложение устанавливается на устройство, имеет собственную локальную базу данных (в формате SQLite) и может работать полностью оффлайн.

Вывод: Мобильная платформа нужна для сценариев, где работа оффлайн является обязательным требованием. Например, для торговых представителей "в полях" или для очень больших складов с "мертвыми зонами" Wi-Fi.

Практические шаги для старта с мобильным клиентом

Для задачи автоматизации склада с ТСД начнем с самого простого варианта — мобильного клиента. Разберем по шагам, как его запустить.

  1. Публикация базы на веб-сервере. Опубликуйте вашу рабочую конфигурацию (например, "Документооборот 2.2") на веб-сервере (Apache или IIS). Это стандартная процедура, аналогичная публикации для веб-клиента.
  2. Установка мобильного приложения. В дистрибутиве "Мобильная платформа 1С:Предприятия" найдите установочный файл 1cem-client...apk и установите его на ваш ТСД под управлением Android.
  3. Настройка подключения. Запустите приложение на ТСД и в настройках укажите адрес вашей опубликованной базы. Например: http://имя_сервера/имя_базы. Укажите логин и пароль пользователя 1С.
  4. Подключение и работа. После этого вы подключитесь к вашей основной базе и сможете работать с ее интерфейсом.

Важный момент: Современные конфигурации, построенные на Библиотеке стандартных подсистем (БСП), часто уже содержат встроенные драйверы для торгового оборудования, включая сканеры штрихкодов ТСД. Это значительно упрощает настройку.

Лицензирование и БСП для мобильных приложений

Рассмотрим еще два важных аспекта: лицензии и использование стандартных библиотек.

Вопрос лицензирования: Если вы разрабатываете приложение для внутреннего использования (например, для своих кладовщиков), и у вашей компании уже есть клиентские лицензии "1С:Предприятие 8", то, как правило, докупать ничего не нужно. Подключение через мобильный клиент с точки зрения сервера 1С — это просто еще один сеанс, который занимает одну клиентскую лицензию из вашего пула.

Библиотека стандартных подсистем (БСП) для мобильных: Да, существует специальная, адаптированная версия БСП для мобильных приложений. Ее использование крайне рекомендуется, чтобы не изобретать велосипед. Она включает в себя готовые механизмы для:

Что такое «сервер» в мобильном приложении?

Один из частых источников путаницы для начинающих — понимание, где выполняется серверный код. Рассмотрим пример.


&НаСервереБезКонтекста
Функция ТестНаСервере()
    Возврат "ОК2";
КонецФункции

&НаКлиенте
Процедура КомандаТест(Команда)
    Сообщить(ТестНаСервере());
КонецПроцедуры

Где в данном случае находится "сервер" и где выполняется функция ТестНаСервере()?

Это принципиальное отличие, которое важно понимать при разработке и отладке.

Решение типичных проблем: ошибка 401 при доступе к веб-сервису

При настройке обмена данными или работе с веб-сервисами можно столкнуться с ошибками. Одна из самых частых — ошибка авторизации.

Ситуация: Вы пытаетесь создать WSОпределение или обратиться к веб-сервису, но получаете пустое сообщение или видите в логах веб-сервера (например, Apache) ошибку вида:

"GET /mobiletest/ws/mobile.1cws?wsdl HTTP/1.1" 401 -

Причина: Код 401 Unauthorized однозначно говорит о проблеме с правами доступа. Веб-сервер не смог авторизовать запрос от вашего мобильного приложения.

Что делать:

  1. Проверьте права пользователя 1С. Убедитесь, что пользователь, под которым мобильное приложение пытается подключиться, имеет все необходимые права на вызов данного веб-сервиса в конфигурации 1С.
  2. Проверьте настройки публикации. Откройте файл публикации веб-сервиса (default.vrd) на веб-сервере. Проверьте, что в нем корректно указаны параметры аутентификации (например, ws basic="true").
  3. Диагностика через браузер. Попробуйте открыть адрес WSDL-описания сервиса (http://.../mobile.1cws?wsdl) в обычном браузере на компьютере или на самом мобильном устройстве. Если браузер запросит логин и пароль, и после их ввода вы увидите XML-описание сервиса, значит, сам сервис работает, и проблема именно в том, как мобильное приложение передает аутентификационные данные.

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

← На главную