Приложение сочетает в себе функциональность беспроводного сканера штрих-кода и терминала сбора данных. Работает под управлением 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. Для сокращения интернет-трафика и ускорения загрузки можете развернуть службу у себя.
Последовательность действий для подключения:
- Установить приложение из Google Play
- Спарить смартфон и ПК по Bluetooth
- Запустить приложение на смартфоне
- На ПК открыть Панель управления, перейти в раздел Устройства и принтеры — Изменить параметры Bluetooth
- Перейти на вкладку COM порт, и создать новый исходящий порт для смартфона и службы Lineris Barcode Scanner
- В 1С:Предприятии в настройках подключаемого оборудования создать новый экземпляр оборудования Сканер штрихкода, подключенный к ранее созданному COM порту.
- Скачать обработку, прикрепленную к этой публикации, и загрузить в приложение базу товаров.
Подробнее смотри видео инструкцию:
Для «поиграться» — хорошая, отличная вещь. Но на практике раздолбать смартфон куда легче, чем специализированный ТСД, плюс время считывания (нужен быстрый автофокус — он не у всех телефонов есть) в разы отличается. Так особо не сэкономишь, т.к. пострадают нервы пользователей, и придется за лекарства платить))
(1) Предприниматель в малом бизнесе нынче прижимистый пошел… Если ему в ЕГАИС не надо, то вероятность продажи ему, например, Honeywell 1400 за 7 т.р. вместо какого-нибудь noname 1D китайца в пределах 1 т.р. близка к нулю. А при этом он хочет рассылать своим покупателям через мессенджеры купоны на скидки в виде QR-кодов. Так вот под такие маркетинговые акции сойдет вполне.
А если бесплатный вариант не зашел — самое время поговорить о Honeywell или Zebra.
(2) Дмитрий, а мой вариант видели ?https://infostart.ru/public/564460/
С блютуф конечно здорово, что не нужно ничего устанавливать дополнительно на ПК
(3) Именно Ваш не смотрел, но видел множество вариантов в Google Play где требовалась установка утилиты на ПК, которая тем или иным каналом получая данные от андроида эмулировала клавиатуру. Вот именно этого я никак и не мог понять, RFCOMM для Bluetooth вещь совершенно стандартная, аппаратные сканеры именно через него и работают — зачем городить этот огород…
Выведите, пожалуйста настройки считывания. Не читает лидирующий 0. Спасибо за труд!
(5) А какую кодировку не читает? Я сейчас попробовал UPC-A, CODE-39 и QR — читает корректно.
Собсно у Zebra Crossing на эту тему никаких ограничений нету, должно все читать, и лидирующие нули тоже.
(6) EAN-13. Там не в ограничениях дело, а в настройках. У меня такая же проблема с ТСД была.
(7) Да, действительно, у EAN-13 лидирующий ноль отрезает. Ушел читать Zebra Crossing Manual……..
(7) Надо подумать что тут можно сделать. EAN-13 с лидирующим нулем считается UPC-A. Вернее так, EAN-13 является расширением UPC-A, и в том случае, если первая цифра в нем 0, то он распознается как UPC-A.
Как вариант можно вывести в настройки ZXing перечень кодировок, если из них убрать UPC-A и UPC-E, то EAN-13 и EAN-8 будeт возвращаться с ведущими 0.
Если ничего лучше не придумаю, сделаю так.
На вашей программе не проверял, но обычные сканеры без перенастроек у EAN-8 так же режут лидирующий 0.
26.4.5. Сканирование штрихкодов
Мобильное устройство, обладающее камерой, позволяет выполнять функции сканирования штрихкодов. Для доступа к этой возможности платформа предоставляет специальный интерфейс.
https://its.1c.ru/db/v8311doc#bookmark:dev:TI000001452
(11) Это не на мобильной платформе, нативный Андроид.И не для мобильной платформы.
(10) Обновлено. В настройках отключаем UPC-E и UPC-A, EAN коды приходят с лидирующими нулями.
(14) Спасибо. Буду пробовать
Здравствуйте, исходники на git выкладывали?
(16) не
Новая версия! Легким движением руки смартфон превращается не только в сканер штрих-кода, но и в терминал сбора данных.
И по прежнему не требует дополнительных утилит на ПК или доработки конфигураций 1С.
По поводу Web-сервисов вам наверно лучше было сделать расширение с готовым вебсервисом.
(19) Да, эта первая мысль, которая пришла мне в голову. Я начал её думать и вот что мне подумалось…
Я сделал это бесплатное приложение для очень малого бизнеса, внешнюю обработку или расширение конфигурации пользователь конечно же установить сможет, а вот настроить IIS или Apache — вряд ли.
Значит надо сделать это за них, тем более, что есть задумка сделать настоящий 1С-Совместимый ТСД с функциональностью помощнее в отдельном приложении, а для него совершенно точно надо делать такой сервис.
(20) Согласен, что-то про необходимость Webserver я забыл. Проще наверно без вер-сервисов и использовать внешний сервер для обмена.
(21) Проще, но не бесплатно. В том смысле, что ни один бесплатный файлообменник типа Яндекс.Диска просто так не подойдет, там нет прямых ссылок на файлы. Тут как бы варианты тоже есть, например у Яндекс.Диска и у Google Drive есть API, можно его заюзать, но при этом надо понимать, что от пользователя потребуется авторизация в Яндексе или Google и на ПК и на смартфоне. Не самый удобный вариант.
Удобно будет так:
1) Установил внешнюю обработку в 1С, она сама прописала себя Куда Следует в интерфейсе 1С.
2) Нажал кнопочку «Выгрузить» и тут же получил в ответ QR-код для загрузки данных в приложение.
3) Отсканировал в приложении QR-код и готово
И никаких настроек, и никакой авторизации.
ПроверятьСтруктуру занимает очень много времени!
заполнить массив через структуру — гораздо быстрее и безопаснее.
создать джейсон на основани массива — еще одно безопасное действие.
простите, но ваш код — полное …
Спасибо! Дельная штука!
Не знаю как насчет использования в продакшене, но для целей по тестировать программу или демонстрации клиенту возможностей сканера и ТСД, программа отличная.
(24) Рад что понравилось. Александр, спасибо за отзыв в Google Play
Выложил обработку для выгрузки товаров их типовых конфигураций 1С. Совсем бесплатно Инфостарт не пропускает, выставляет минимум 1sm.
(22) Отвечу сам себе, вдруг кто-то еще это прочтет…
https://infostart.ru/public/699114/
Именно такую реализацию и сделал в итоге:
Мое видение использования смартфона в качестве ТСД:
1) на Andriod смартфоне запущен RDP клиент с запущенной в нем 1С;
2) 1С использует стандартный драцвер сканера штрихкода (клавиатурный);
3) сканер штрихкодов с блутус интерфейсом передает штрихкод по блутусу в смартфон;
4) на смартфоне утилита перенаправляет сосканированный штрихкод в порт клавиатуры.
Проблемка в отсутствии утилиты на Android смартфоне перенаправляющей штрихкод с блутуса в клавиатуру 🙁
(28) О да, RDP в 5-дюймовом экране с запущенной на ББ 1Ской это жесть как удобно!
В настройках сканера (это такая книжица с штрих-кодами) найдите раздел типа «Transmission mode» или «Bluetooth profiles» или как-то так, у разных производителей он может по разному называться. И там нужно найти штрик-код, напротив которого написано слово HID, просканировать его. Сканер активирует у себя в блютусном чипе профиль HID и Android будет получать от него события как от блютусной клавиатуры и никакая утилита не нужна. Будет ли эти события как следует обрабатывать RDP клиент и транслировать в 1С науке неизвестно, сие постигается в эксперименте.
У меня же иное видение такого ТСДhttps://infostart.ru/public/699114/
Блюпуп — не камильфо.
Вот если бы по ВиФи…
(30)https://infostart.ru/public/699114/
Оно и по вай-вай работает.
(31) Привязано к конфигуциям.
У нас вашпе 7.7.
По этому эмуляция сканера ШК в режиме эмуляции клавиатуры весьма актуальна, но дальность блюпуп портит все.
К сожалению для вифи нужно писать доп. ПО, принимающее данные и отправляющее их в буфер клавиатуры.
Хотя решение в принципе есть…
(32) Такого творчества в Google Play вагон и маленькая тележка. Попадаются даже такие экземпляры, с которыми антивирус не орёт благим матом на это самое «доп.ПО» и которое действительно работает.
Я хотел сделать сканер без «доп.ПО» и я его сделал.
(33) Я с вами согласен.
Свою функцию выполняет.
Здравствуйте, Дмитрий.
Отличная идея и приложение просто шикарное! Купил и приложение и обработки.
Не нашел куда отправить баг-репорт, поэтому напишу здесь.
При подключенном аппаратном сканере (у меня Datalogic QW2100, но думаю, и с другими ситуация такая же) и включенном режиме запроса количества после сканирования, для поля ввода количества не отображается цифровая экранная клавиатура, т.к. Андроид считает, что к устройству подключена внешняя клавиатура (а на самом деле, это подключен сканер). Проверил на 3-х разных смартфонах (Sony, Asus, Xiaomi) — на всех поведение идентичное.
(35) Добрый день!
Да действительно, бага подтверждается. В ближайшем обновлении исправлю.
Спасибо!
(35) Обновление 1.3.8 опубликовано в Google Play.
Теперь никакой всплывающей виртуальной клавиатуры, ввод количества на основном экране. Прячется большая главная кнопка на время, вместо нее появляется numpad с которого вводятся только цифры.
С аппаратными сканерами работает и с программным сканером стало удобнее.
(37) Обновил. Опробовал. Теперь всё идеально. Спасибо!
(38) Вам спасибо за отыв в GooglePlay
(12) А Вы видели как оно сканирует обычные ш/коды (не QR)? Грустное зрелище
(40) UPD или это не про мое приложение, а про штатный сканер моб.платформы 1С?
==
Конечно. Зависит от камеры и скорости работы автофокуса. На камерах без автофокуса, где расстояние выставлено в бесконечность может вообще не сработать, ибо вблизи изображение получается размыто.
В целом гораздо медленнее обычного сканера. Ну так профессиональное оборудование оно на то и профессиональное, что бы справляться со своей основной функцией лучше бытовых приборов.
(41) Это про сканер 1С. Дело не в камере а в алгоритме, который увы в 1С слабоват в отличии от например zxing или других под андроид. Нормально сканирует только QR, использовать это нельзя пока.
(42) Ну да, у 1С свой особый Путь. Там оно вроде как всё своё, посконное. Я же выпендриваться не стал, взял лучшее, что есть из свободного — ZXing.