Часто при переходе со старых терминалов сбора данных (ТСД) на базе Windows CE на современные устройства под управлением Android возникает одна и та же проблема. Вы подключаете ТСД к 1С через стандартный механизм «Подключаемое оборудование», устанавливаете драйвер, система рапортует, что «Тест подключения пройден», но при сканировании штрихкода в форме 1С ничего не происходит. Ожидаемый обработчик ВнешнееСобытие не вызывается. Давайте разберемся, почему так происходит и как правильно организовать работу.
Основная причина кроется в принципиальной разнице архитектуры взаимодействия старых и новых терминалов с 1С. Понимание этого отличия — ключ к решению проблемы.
В старых системах драйвер терминала сбора данных был глубоко интегрирован с операционной системой и платформой 1С. Он работал как мост, который перехватывал событие от аппаратного сканера и напрямую «пробрасывал» его в активную форму 1С. Платформа 1С принимала этот сигнал и инициировала вызов процедуры-обработчика ОбработкаВнешнегоСобытия(). Все было относительно просто и прозрачно: нажал кнопку на ТСД — сработало событие в 1С.
В экосистеме Android все устроено иначе. Для операционной системы сканер терминала — это, по сути, внешняя клавиатура. Когда вы нажимаете кнопку сканирования, ТСД считывает штрихкод, преобразует его в текст и «печатает» в том поле ввода, которое в данный момент активно на экране. Если на терминале не запущено никакое специальное приложение, то эти данные либо никуда не попадают, либо вводятся в случайное поле. Для решения этой проблемы можно использовать программу для перехвата событий сканирования и передачи их в 1С.
Важный момент: Уведомление «Тест подключения пройден» в настройках подключаемого оборудования 1С в случае с Android-ТСД чаще всего означает лишь то, что компьютер с 1С «видит» терминал в сети (например, по IP-адресу). Это проверка на уровне сетевого соединения, а не готовности к обмену данными на уровне приложений. Она не гарантирует, что события сканирования будут передаваться в 1С.
Для полноценной интеграции необходим программный посредник — специальное приложение на самом ТСД, которое будет выполнять следующие функции:
Рассмотрим основные способы реализации такой схемы.
Это самый распространенный, гибкий и надежный способ интеграции. На рынок выпущено множество готовых решений, таких как DataMobile или Cleverence. Принцип их работы схож.
Пошаговый процесс выглядит так:
Преимущества такого подхода:
Если для вашей конфигурации 1С существует официальное мобильное приложение, разработанное на мобильной платформе 1С, это может быть отличным вариантом. Например, для конфигурации «1С:Управление торговлей» есть приложение «1С:Мобильная торговля».
В этом случае вся работа происходит внутри экосистемы 1С. Мобильная платформа «из коробки» умеет работать с аппаратным обеспечением устройства, включая сканер штрихкодов. Обмен данными с основной базой настраивается через стандартные механизмы 1С, например, через веб-сервисы.
Основной недостаток — не для всех конфигураций существуют готовые мобильные клиенты. Для отраслевых решений, как «Альфа-Авто», такого приложения может не быть, и его разработка с нуля потребует значительных ресурсов.
Теоретически, можно запустить на ТСД браузер и открыть в нем веб-клиент вашей базы 1С. Однако этот способ имеет серьезные ограничения:
Этот вариант может подойти для очень простых и редких операций, но для полноценной складской работы он не годится. Для обхода этих ограничений можно использовать приложение для интеграции веб-клиента 1С с аппаратным сканером устройства.
Чтобы подключить современный ТСД на Android к 1С и заставить его передавать данные сканирования, необходимо использовать промежуточное программное обеспечение. Просто установить драйвер и ожидать срабатывания обработчика ВнешнееСобытие, как в старых системах, не получится. Вам нужно выбрать один из путей:
Таким образом, проблема не в драйвере или настройках 1С, а в архитектуре взаимодействия, которая требует наличия специального клиентского приложения на самом терминале сбора данных.