Почему не срабатывает событие сканирования при подключении ТСД на Android к 1С?

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

Часто при переходе со старых терминалов сбора данных (ТСД) на базе Windows CE на современные устройства под управлением Android возникает одна и та же проблема. Вы подключаете ТСД к 1С через стандартный механизм «Подключаемое оборудование», устанавливаете драйвер, система рапортует, что «Тест подключения пройден», но при сканировании штрихкода в форме 1С ничего не происходит. Ожидаемый обработчик ВнешнееСобытие не вызывается. Давайте разберемся, почему так происходит и как правильно организовать работу.

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

Как это работало раньше: старые ТСД на Windows CE

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

Почему это не работает сейчас: современные ТСД на Android

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

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

Для полноценной интеграции необходим программный посредник — специальное приложение на самом ТСД, которое будет выполнять следующие функции:

  1. Перехватывать данные с аппаратного сканера.
  2. Обрабатывать их (например, добавлять количество, выводить информацию о товаре на экран ТСД).
  3. Формировать пакет данных в понятном для 1С формате.
  4. Отправлять этот пакет в 1С по сети (Wi-Fi).

Рассмотрим основные способы реализации такой схемы.

Решение 1: Использование специализированного ПО (Middleware)

Это самый распространенный, гибкий и надежный способ интеграции. На рынок выпущено множество готовых решений, таких как DataMobile или Cleverence. Принцип их работы схож.

Пошаговый процесс выглядит так:

  1. На терминал сбора данных устанавливается мобильное приложение от поставщика ПО (например, DataMobile).
  2. В конфигурацию 1С (в нашем случае, «Альфа-Авто») устанавливается специальное расширение или модуль интеграции от того же поставщика.
  3. В 1С настраиваются шаблоны и бизнес-процессы, которые будут выполняться на ТСД (например, «Приемка товара», «Инвентаризация», «Подбор заказа»). Эти настройки выгружаются на терминал.
  4. Сотрудник на складе запускает на ТСД мобильное приложение, выбирает нужную операцию и начинает сканировать штрихкоды. Приложение само обрабатывает сканирования, позволяет вводить количество и выполнять другие действия.
  5. По завершении работы данные с ТСД выгружаются в 1С, где на их основе автоматически создаются или заполняются документы («Поступление товаров и услуг», «Списание товаров» и т.д.).

Преимущества такого подхода:

Решение 2: Использование мобильного приложения 1С

Если для вашей конфигурации 1С существует официальное мобильное приложение, разработанное на мобильной платформе 1С, это может быть отличным вариантом. Например, для конфигурации «1С:Управление торговлей» есть приложение «1С:Мобильная торговля».

В этом случае вся работа происходит внутри экосистемы 1С. Мобильная платформа «из коробки» умеет работать с аппаратным обеспечением устройства, включая сканер штрихкодов. Обмен данными с основной базой настраивается через стандартные механизмы 1С, например, через веб-сервисы.

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

Решение 3: Работа через веб-клиент (ограниченно)

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

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

Итог

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

  1. Интегрировать готовое middleware-решение (например, DataMobile или Cleverence). Это наиболее универсальный и рекомендуемый путь.
  2. Использовать нативное мобильное приложение 1С, если оно существует для вашей конфигурации.
  3. Разработать собственное мобильное приложение на платформе 1С:Мобильная или нативном Android, которое будет обмениваться данными с основной базой через HTTP-сервисы.

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

← На главную