Как организовать работу ТСД на Android с 1С:Управление торговлей 11?

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

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

Варианты подключения: Тонкий клиент, Веб-клиент или Мобильный клиент?

Первым делом проанализируем три основных способа взаимодействия ТСД с базой 1С, опубликованной через web-сервер (IIS или Apache):

  1. Веб-клиент (через браузер): Вы публикуете базу и заходите в нее через Chrome или специализированный Enterprise Browser на ТСД. Это самый простой способ «запуска», но он крайне ограничен в работе с оборудованием.
  2. Тонкий клиент для Android: По сути, это запуск обычного приложения 1С на мобильном устройстве. Требует стабильного канала связи и не всегда корректно отображает сложные интерфейсы УТ 11.
  3. Мобильный клиент: Это наиболее современный и рекомендуемый способ. Мобильный клиент транслирует интерфейс управляемых форм на мобильное устройство, адаптируя их под мобильную платформу, и при этом позволяет использовать аппаратные возможности ТСД (сканер, звук, вибрация).

Рассмотрим подробнее преимущества мобильного клиента. Главная его «прелесть» в том, что не появляется новых технологических слоев. Вам не нужно писать отдельное мобильное приложение и синхронизировать данные. Вы работаете напрямую с объектами конфигурации УТ 11, просто адаптируя экранные формы под размер дисплея терминала.

Настройка сканирования: Intent vs Эмуляция клавиатуры

Одной из главных проблем при работе через веб-клиент или обычный тонкий клиент является работа со сканером штрихкодов. Рассмотрим две ситуации:

Эмуляция клавиатуры (HID): Большинство ТСД по умолчанию настроены так, что при сканировании штрихкод «впечатывается» в активное поле ввода. Это кажется простым, но на практике ведет к ошибкам: если фокус не стоит в поле, данные потеряются; если включена русская раскладка, вместо цифр придут «символы-кракозябры».

Broadcast Intent (Внешнее событие): Это профессиональный подход. ТСД при сканировании отправляет системное сообщение в Android (Intent), которое 1С перехватывает как ВнешнееСобытие. Это позволяет считывать штрихкоды в фоновом режиме, независимо от того, где находится курсор. Для реализации этого в 1С:УТ 11 необходимо:

Адаптация интерфейса для складских сотрудников

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

Для качественной работы необходимо создать отдельные формы для мобильного клиента:

  1. Укрупнение элементов: Кнопки должны быть высотой не менее 40-50 пикселей.
  2. Минимизация ввода: Исключите лишние поля. Все, что можно заполнить автоматически по штрихкоду, должно заполняться без участия пользователя.
  3. Звуковая индикация: Реализуйте через средства мобильной платформы разные сигналы на успех и ошибку. Это критически важно: кладовщик не должен смотреть на экран после каждого сканирования.

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


&НаКлиенте
Процедура ВнешнееСобытие(Источник, Событие, Данные)
    Если Событие = "Barcode" Тогда
        Штрихкод = СокрЛП(Данные);
        ОбработатьШтрихкодНаСервере(Штрихкод);
    КонецЕсли;
КонецПроцедуры

Альтернативный вариант: HTTP-сервисы и кастомный Frontend

Для крупных складов с сотнями ТСД иногда выбирают путь разработки отдельного приложения (на Java, Kotlin или React Native), которое общается с 1С через HTTP-сервисы. Разберем этот вариант:

Плюсы: Максимальная производительность, полный контроль над «железом» ТСД, минимальный трафик (передаются только компактные JSON-пакеты).

Минусы: Высокая стоимость разработки. Вам придется поддерживать два программных продукта: логику в 1С и интерфейс в Android-приложении.

Если ваша задача — автоматизировать небольшой или средний магазин/склад, этот путь будет избыточным. Мобильного клиента 1С будет более чем достаточно.

Требования к сетевой инфраструктуре

Разберем важный нюанс — работу Wi-Fi. Если вы используете Тонкий или Мобильный клиент в режиме онлайн, критически важно обеспечить бесшовный роуминг (протоколы 802.11r/k/v). При переходе сотрудника от одной точки доступа к другой сессия 1С не должна обрываться. Если сеть настроена плохо, тонкий клиент будет постоянно «вылетать» при перемещении кладовщика между стеллажами.

Подведем итоги

Для реализации задачи на ТСД с Android в связке с УТ 11 рекомендуем придерживаться следующего алгоритма:

  1. Публикация базы: Настройте веб-сервер (IIS или Apache) и опубликуйте базу.
  2. Установка платформы: Установите на ТСД «1С:Предприятие — мобильный клиент».
  3. Разработка мобильных форм: Создайте упрощенные формы документов (Приходный ордер, Отбор товаров), оптимизированные под разрешение экрана ТСД.
  4. Настройка сканера: Настройте передачу ШК через Broadcast Intent и перехват в 1С через механизм внешних событий.

Такой подход позволит вам использовать всю мощь 1С:Управление торговлей 11 без необходимости сложной синхронизации данных и приобретения дорогостоящего стороннего ПО для терминалов.

← На главную