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

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

59
Бесплатное приложение, превращающее 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. Скачать обработку, прикрепленную к этой публикации, и загрузить в приложение базу товаров.

 

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

59

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

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

См. также

Вознаграждение за ответ
Показать полностью
Комментарии
Сортировка: Древо
1. jackill88 13.09.17 09:16 Сейчас в теме
Для "поиграться" - хорошая, отличная вещь. Но на практике раздолбать смартфон куда легче, чем специализированный ТСД, плюс время считывания (нужен быстрый автофокус - он не у всех телефонов есть) в разы отличается. Так особо не сэкономишь, т.к. пострадают нервы пользователей, и придется за лекарства платить))
Timon_132; smit1c; 1Cergo; maxopik2; +4 Ответить
2. kuld 314 13.09.17 09:56 Сейчас в теме
(1) Предприниматель в малом бизнесе нынче прижимистый пошел... Если ему в ЕГАИС не надо, то вероятность продажи ему, например, Honeywell 1400 за 7 т.р. вместо какого-нибудь noname 1D китайца в пределах 1 т.р. близка к нулю. А при этом он хочет рассылать своим покупателям через мессенджеры купоны на скидки в виде QR-кодов. Так вот под такие маркетинговые акции сойдет вполне.
А если бесплатный вариант не зашел - самое время поговорить о Honeywell или Zebra.
MSK_Step; jackill88; +2 Ответить
3. dreamadv 129 14.09.17 16:28 Сейчас в теме
(2) Дмитрий, а мой вариант видели ? https://infostart.ru/public/564460/
С блютуф конечно здорово, что не нужно ничего устанавливать дополнительно на ПК
4. kuld 314 14.09.17 17:47 Сейчас в теме
(3) Именно Ваш не смотрел, но видел множество вариантов в Google Play где требовалась установка утилиты на ПК, которая тем или иным каналом получая данные от андроида эмулировала клавиатуру. Вот именно этого я никак и не мог понять, RFCOMM для Bluetooth вещь совершенно стандартная, аппаратные сканеры именно через него и работают - зачем городить этот огород...
5. assa 56 14.09.17 21:49 Сейчас в теме
Выведите, пожалуйста настройки считывания. Не читает лидирующий 0. Спасибо за труд!
6. kuld 314 14.09.17 22:29 Сейчас в теме
(5) А какую кодировку не читает? Я сейчас попробовал UPC-A, CODE-39 и QR - читает корректно.
Собсно у Zebra Crossing на эту тему никаких ограничений нету, должно все читать, и лидирующие нули тоже.
7. assa 56 14.09.17 22:32 Сейчас в теме
(6) EAN-13. Там не в ограничениях дело, а в настройках. У меня такая же проблема с ТСД была.
8. kuld 314 14.09.17 22:42 Сейчас в теме
(7) Да, действительно, у EAN-13 лидирующий ноль отрезает. Ушел читать Zebra Crossing Manual........
9. kuld 314 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 56 15.09.17 00:00 Сейчас в теме
На вашей программе не проверял, но обычные сканеры без перенастроек у EAN-8 так же режут лидирующий 0.
14. kuld 314 15.09.17 13:50 Сейчас в теме
(10) Обновлено. В настройках отключаем UPC-E и UPC-A, EAN коды приходят с лидирующими нулями.
15. assa 56 15.09.17 17:21 Сейчас в теме
(14) Спасибо. Буду пробовать
11. vano-ekt 1103 15.09.17 07:12 Сейчас в теме
26.4.5. Сканирование штрихкодов

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

1) на Andriod смартфоне запущен RDP клиент с запущенной в нем 1С;
2) 1С использует стандартный драцвер сканера штрихкода (клавиатурный);
3) сканер штрихкодов с блутус интерфейсом передает штрихкод по блутусу в смартфон;
4) на смартфоне утилита перенаправляет сосканированный штрихкод в порт клавиатуры.

Проблемка в отсутствии утилиты на Android смартфоне перенаправляющей штрихкод с блутуса в клавиатуру :-(
29. kuld 314 22.12.17 12:26 Сейчас в теме
(28) О да, RDP в 5-дюймовом экране с запущенной на ББ 1Ской это жесть как удобно!
В настройках сканера (это такая книжица с штрих-кодами) найдите раздел типа "Transmission mode" или "Bluetooth profiles" или как-то так, у разных производителей он может по разному называться. И там нужно найти штрик-код, напротив которого написано слово HID, просканировать его. Сканер активирует у себя в блютусном чипе профиль HID и Android будет получать от него события как от блютусной клавиатуры и никакая утилита не нужна. Будет ли эти события как следует обрабатывать RDP клиент и транслировать в 1С науке неизвестно, сие постигается в эксперименте.

У меня же иное видение такого ТСД https://infostart.ru/public/699114/
30. alex_a_k 26.01.18 11:05 Сейчас в теме
Блюпуп - не камильфо.
Вот если бы по ВиФи...
31. kuld 314 26.01.18 11:49 Сейчас в теме
32. alex_a_k 26.01.18 14:49 Сейчас в теме
(31) Привязано к конфигуциям.
У нас вашпе 7.7.
По этому эмуляция сканера ШК в режиме эмуляции клавиатуры весьма актуальна, но дальность блюпуп портит все.
К сожалению для вифи нужно писать доп. ПО, принимающее данные и отправляющее их в буфер клавиатуры.
Хотя решение в принципе есть...
33. kuld 314 26.01.18 15:42 Сейчас в теме
(32) Такого творчества в Google Play вагон и маленькая тележка. Попадаются даже такие экземпляры, с которыми антивирус не орёт благим матом на это самое "доп.ПО" и которое действительно работает.
Я хотел сделать сканер без "доп.ПО" и я его сделал.
34. alex_a_k 26.01.18 16:50 Сейчас в теме
(33) Я с вами согласен.
Свою функцию выполняет.
35. -vito- 03.02.18 22:02 Сейчас в теме
Здравствуйте, Дмитрий.
Отличная идея и приложение просто шикарное! Купил и приложение и обработки.
Не нашел куда отправить баг-репорт, поэтому напишу здесь.
При подключенном аппаратном сканере (у меня Datalogic QW2100, но думаю, и с другими ситуация такая же) и включенном режиме запроса количества после сканирования, для поля ввода количества не отображается цифровая экранная клавиатура, т.к. Андроид считает, что к устройству подключена внешняя клавиатура (а на самом деле, это подключен сканер). Проверил на 3-х разных смартфонах (Sony, Asus, Xiaomi) - на всех поведение идентичное.
36. kuld 314 04.02.18 14:11 Сейчас в теме
(35) Добрый день!
Да действительно, бага подтверждается. В ближайшем обновлении исправлю.
Спасибо!
37. kuld 314 05.02.18 12:32 Сейчас в теме
(35) Обновление 1.3.8 опубликовано в Google Play.
Теперь никакой всплывающей виртуальной клавиатуры, ввод количества на основном экране. Прячется большая главная кнопка на время, вместо нее появляется numpad с которого вводятся только цифры.
С аппаратными сканерами работает и с программным сканером стало удобнее.
38. -vito- 06.02.18 13:43 Сейчас в теме
(37) Обновил. Опробовал. Теперь всё идеально. Спасибо!
39. kuld 314 06.02.18 13:52 Сейчас в теме
(38) Вам спасибо за отыв в GooglePlay
Оставьте свое сообщение