Android беспроводной Bluetooth сканер 1D/2D штрихкода и терминал сбора данных для 1С

Оборудование - Сканер штрих-кода

Бесплатное приложение, превращающее Android-смартфон в беспроводной 1D/2D Bluetooth сканер и терминал сбора данных для 1С и прочих POS систем. Не требует драйверов и доработки конфигураций.

Приложение сочетает в себе функциональность беспроводного сканера штрих-кода и терминала сбора данных. Работает под управлением Android версии не ниже 4.0, а значит для превращения в беспроводной сканер подойдет отслуживший свое смартфон. Минимальные требования: наличие модуля Bluetooth спецификации 2.0 и камеры.

Кроме приложения и 1С не нужно ничего, никакого дополнительного ПО на компьютер устанавливать не нужно. Подключается по стандартному Bluetooth RFCOMM, создает на ПК средствами операционной системы виртуальный COM-порт, который и настраивается в 1С любым из типовых драйверов сканнера штрих-кода, входящих в библиотеку подключаемого оборудования.

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

UPD: Над улучшением выгрузки уже работаю. Сейчас если отсканировать QR код со ссылкой, заканчивающейся на upload, все собранные данные упакуются в JSON и отправятся по указанной ссылке запросом POST. Готова даже веб-служба на Python, которая умеет генерить такие ссылки, принимать пакеты с данными и хранить в своей базе данных.  Осталось дело за малым - запихнуть все это в 1С.

Опционально в приложение можно загрузить базу с наименованиями товаров. Когда такая база подгружена, в списке собранных данных дополнительно к штрих-кодам отображаются соответствующие им наименования товаров, характеристик и единиц измерения. База подгружается через http, годится как файл, так и web-сервис, способный передать массив JSON объектов такой структуры:

[
  {
    "barcode": "Значение штрих-кода",
    "name": "Наименование",
    "advanced_name": "Характеристика (может быть пустым)",
    "unit": "Единица (может быть пустым)"
  },
  {
    "barcode": "2003591840008",
    "name": "Пальто",
    "advanced_name": "40, Розовый",
    "unit": "шт."
  }
]

Для загрузки базы достаточно отсканировать в приложении QR-код URL указывающим на этот JSON, важно, что бы URL заканчивалась на json, так приложение понимает, что ему нужно загрузить базу товаров. Загрузка производится в фоновом режиме, приложение сразу же возвращается в рабочий режим.

Обновление

Я обещал сделать обработку и я ее сделал.

Для загрузки в мобильное приложение базы товаров из 1С:Розницы, Управления торговлей, Комплексной автоматизации, Управления нашей фирмой или даже из Бухгалтерии предприятия воспользуйтесь бесплатной обработкой и (пока) бесплатным веб-сервисом.

Не надо ничего настраивать, подключать, регистрировать, никаких веб-серверов, IP-адресов не нужно, все просто! Скачиваем обработку, добавляем её в конфигурацию, открываем, нажимаем кнопку "Выгрузить", дожидаемся появления QR кода на экране, сканируем его приложением - готово! База товаров загружена. Попробуйте!

А для любителей разворачивать веб-сервисы я выложил скрипты веб-службы на GitHub. Для сокращения интернет-трафика и ускорения загрузки можете развернуть службу у себя.

Последовательность действий для подключения:

 

  1. Установить приложение из Google Play
    Доступно в Google Play
  2. Спарить смартфон и ПК по Bluetooth
  3. Запустить приложение на смартфоне
  4. На ПК открыть Панель управления, перейти в раздел Устройства и принтеры - Изменить параметры Bluetooth
  5. Перейти на вкладку COM порт, и создать новый исходящий порт для смартфона и службы Lineris Barcode Scanner
  6. В 1С:Предприятии в настройках подключаемого оборудования создать новый экземпляр оборудования Сканер штрихкода, подключенный к ранее созданному COM порту.
  7. Скачать обработку, прикрепленную к этой публикации, и загрузить в приложение базу товаров.

 

Подробнее смотри видео инструкцию:

Скачать файлы

Наименование Файл Версия Размер
Обработка для выгрузки базы товаров из типовых конфигураций 1С
.epf 27,71Kb
16.10.17
2
.epf 1.0 27,71Kb 2 Скачать

См. также

Комментарии
1. Ярослав Ткаченко (jackill88) 13.09.17 09:16 Сейчас в теме
Для "поиграться" - хорошая, отличная вещь. Но на практике раздолбать смартфон куда легче, чем специализированный ТСД, плюс время считывания (нужен быстрый автофокус - он не у всех телефонов есть) в разы отличается. Так особо не сэкономишь, т.к. пострадают нервы пользователей, и придется за лекарства платить))
1Cergo; maxopik2; +2 Ответить
2. Дмитрий Кулешов (kuld) 138 13.09.17 09:56 Сейчас в теме
(1) Предприниматель в малом бизнесе нынче прижимистый пошел... Если ему в ЕГАИС не надо, то вероятность продажи ему, например, Honeywell 1400 за 7 т.р. вместо какого-нибудь noname 1D китайца в пределах 1 т.р. близка к нулю. А при этом он хочет рассылать своим покупателям через мессенджеры купоны на скидки в виде QR-кодов. Так вот под такие маркетинговые акции сойдет вполне.
А если бесплатный вариант не зашел - самое время поговорить о Honeywell или Zebra.
MSK_Step; jackill88; +2 Ответить
3. Andrei Novikov (dreamadv) 113 14.09.17 16:28 Сейчас в теме
(2) Дмитрий, а мой вариант видели ? https://infostart.ru/public/564460/
С блютуф конечно здорово, что не нужно ничего устанавливать дополнительно на ПК
4. Дмитрий Кулешов (kuld) 138 14.09.17 17:47 Сейчас в теме
(3) Именно Ваш не смотрел, но видел множество вариантов в Google Play где требовалась установка утилиты на ПК, которая тем или иным каналом получая данные от андроида эмулировала клавиатуру. Вот именно этого я никак и не мог понять, RFCOMM для Bluetooth вещь совершенно стандартная, аппаратные сканеры именно через него и работают - зачем городить этот огород...
5. assa Петренко (assa) 55 14.09.17 21:49 Сейчас в теме
Выведите, пожалуйста настройки считывания. Не читает лидирующий 0. Спасибо за труд!
6. Дмитрий Кулешов (kuld) 138 14.09.17 22:29 Сейчас в теме
(5) А какую кодировку не читает? Я сейчас попробовал UPC-A, CODE-39 и QR - читает корректно.
Собсно у Zebra Crossing на эту тему никаких ограничений нету, должно все читать, и лидирующие нули тоже.
7. assa Петренко (assa) 55 14.09.17 22:32 Сейчас в теме
(6) EAN-13. Там не в ограничениях дело, а в настройках. У меня такая же проблема с ТСД была.
8. Дмитрий Кулешов (kuld) 138 14.09.17 22:42 Сейчас в теме
(7) Да, действительно, у EAN-13 лидирующий ноль отрезает. Ушел читать Zebra Crossing Manual........
9. Дмитрий Кулешов (kuld) 138 14.09.17 23:11 Сейчас в теме
(7) Надо подумать что тут можно сделать. EAN-13 с лидирующим нулем считается UPC-A. Вернее так, EAN-13 является расширением UPC-A, и в том случае, если первая цифра в нем 0, то он распознается как UPC-A.

Как вариант можно вывести в настройки ZXing перечень кодировок, если из них убрать UPC-A и UPC-E, то EAN-13 и EAN-8 будeт возвращаться с ведущими 0.

Если ничего лучше не придумаю, сделаю так.
10. assa Петренко (assa) 55 15.09.17 00:00 Сейчас в теме
На вашей программе не проверял, но обычные сканеры без перенастроек у EAN-8 так же режут лидирующий 0.
14. Дмитрий Кулешов (kuld) 138 15.09.17 13:50 Сейчас в теме
(10) Обновлено. В настройках отключаем UPC-E и UPC-A, EAN коды приходят с лидирующими нулями.
15. assa Петренко (assa) 55 15.09.17 17:21 Сейчас в теме
(14) Спасибо. Буду пробовать
11. Ivan Khorkov (vano-ekt) 944 15.09.17 07:12 Сейчас в теме
26.4.5. Сканирование штрихкодов

Мобильное устройство, обладающее камерой, позволяет выполнять функции сканирования штрихкодов. Для доступа к этой возможности платформа предоставляет специальный интерфейс.
https://its.1c.ru/db/v8311doc#bookmark:dev:TI000001452
13. Дмитрий Кулешов (kuld) 138 15.09.17 10:26 Сейчас в теме
(11) Это не на мобильной платформе, нативный Андроид.И не для мобильной платформы.
12. Ivan Khorkov (vano-ekt) 944 15.09.17 07:13 Сейчас в теме
&НаКлиенте
Процедура ОткрытьИнтерфейсСканирования(Команда)
    ОбработчикСканирования = Новый ОписаниеОповещения("ОбработкаСканирования", ЭтотОбъект);
    ОбработчикЗакрытия = Новый ОписаниеОповещения("ОбработкаЗакрытияИнтерфейса", ЭтотОбъект);
    СредстваМультимедиа.ПоказатьСканированиеШтрихКодов("Наведите камеру на штрихкод", ОбработчикСканирования, ОбработчикЗакрытия);
КонецПроцедуры
16. Максим Радченко (coolseo) 33 17.09.17 02:30 Сейчас в теме
Здравствуйте, исходники на git выкладывали?
17. Дмитрий Кулешов (kuld) 138 17.09.17 09:36 Сейчас в теме
18. Дмитрий Кулешов (kuld) 138 23.09.17 23:55 Сейчас в теме
Новая версия! Легким движением руки смартфон превращается не только в сканер штрих-кода, но и в терминал сбора данных.
И по прежнему не требует дополнительных утилит на ПК или доработки конфигураций 1С.
19. Юрий (as) 25.09.17 12:15 Сейчас в теме
По поводу Web-сервисов вам наверно лучше было сделать расширение с готовым вебсервисом.
20. Дмитрий Кулешов (kuld) 138 25.09.17 13:11 Сейчас в теме
(19) Да, эта первая мысль, которая пришла мне в голову. Я начал её думать и вот что мне подумалось...
Я сделал это бесплатное приложение для очень малого бизнеса, внешнюю обработку или расширение конфигурации пользователь конечно же установить сможет, а вот настроить IIS или Apache - вряд ли.
Значит надо сделать это за них, тем более, что есть задумка сделать настоящий 1С-Совместимый ТСД с функциональностью помощнее в отдельном приложении, а для него совершенно точно надо делать такой сервис.
21. Юрий (as) 25.09.17 13:58 Сейчас в теме
(20) Согласен, что-то про необходимость Webserver я забыл. Проще наверно без вер-сервисов и использовать внешний сервер для обмена.
22. Дмитрий Кулешов (kuld) 138 25.09.17 15:34 Сейчас в теме
(21) Проще, но не бесплатно. В том смысле, что ни один бесплатный файлообменник типа Яндекс.Диска просто так не подойдет, там нет прямых ссылок на файлы. Тут как бы варианты тоже есть, например у Яндекс.Диска и у Google Drive есть API, можно его заюзать, но при этом надо понимать, что от пользователя потребуется авторизация в Яндексе или Google и на ПК и на смартфоне. Не самый удобный вариант.
Удобно будет так:
1) Установил внешнюю обработку в 1С, она сама прописала себя Куда Следует в интерфейсе 1С.
2) Нажал кнопочку "Выгрузить" и тут же получил в ответ QR-код для загрузки данных в приложение.
3) Отсканировал в приложении QR-код и готово
И никаких настроек, и никакой авторизации.
23. Виктор Назаров (androgin) 28.09.17 22:34 Сейчас в теме
ПроверятьСтруктуру занимает очень много времени!
заполнить массив через структуру - гораздо быстрее и безопаснее.
создать джейсон на основани массива - еще одно безопасное действие.
простите, но ваш код - полное ...
24. Александр Карпов (Noob001) 06.10.17 18:54 Сейчас в теме
Спасибо! Дельная штука!
Не знаю как насчет использования в продакшене, но для целей по тестировать программу или демонстрации клиенту возможностей сканера и ТСД, программа отличная.
25. Дмитрий Кулешов (kuld) 138 07.10.17 18:50 Сейчас в теме
(24) Рад что понравилось. Александр, спасибо за отзыв в Google Play
26. Дмитрий Кулешов (kuld) 138 15.10.17 01:27 Сейчас в теме
Выложил обработку для выгрузки товаров их типовых конфигураций 1С. Совсем бесплатно Инфостарт не пропускает, выставляет минимум 1sm.
Оставьте свое сообщение