0. vadnevzorov 427 10.01.18 14:23 Сейчас в теме

“Заставим сканер пищать!” или Получаем обратную связь из 1С при сканировании штрихкодов

Получаем обратную связь из 1С при сканировании штрихкодов.

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. A_Max 17 10.01.18 18:22 Сейчас в теме
ScanOPOS меняли бинарник или где-то есть исходники?
13. vadnevzorov 427 11.01.18 11:06 Сейчас в теме
(1) Меняли бинарник. Ассемблер рулит. :)
Evil Beaver; Danil.Potapov; +2 Ответить
2. tailer2 10.01.18 18:54 Сейчас в теме
Супер! Респект и уважуха
SmArtist; Andreyyy; ABudnikov; torbeev; +4 Ответить
3. Арчибальд 2708 10.01.18 19:13 Сейчас в теме
4. vano-ekt 527 10.01.18 23:14 Сейчас в теме
ваш сканер будет пищать как ...
madway; Mahon83; shard; DenisF8; корум; w22u; TreeDogNight; webester; DrAku1a; +9 Ответить
14. vadnevzorov 427 11.01.18 11:07 Сейчас в теме
(4) Если будет продолжение статьи, так и назову))
DenisF8; DrAku1a; +2 Ответить
5. CheBurator 3403 11.01.18 00:57 Сейчас в теме
Отличный материал! (порадовал cino)
Включил в свою подборку публикаций по группе "Адресный учет и логистика склада" https://infostart.ru/community/groups/22/
6. DrAku1a 1305 11.01.18 02:22 Сейчас в теме
Хм... я первое о чём подумал - не колонки, а блютуз-гарнитурка (для ПК надо передатчик, для ноута - блюпуп встроен).
Однако, такая гарнитура имеет сравнительно небольшую дальность и критична к препятствиям.
SmArtist; +1 Ответить
15. vadnevzorov 427 11.01.18 11:15 Сейчас в теме
(6) Кстати интересный вариант. Но как вы правильно заметили, он ограничен дальностью bluetooth соединения (обычно 20-30 метров). А если бы такая гарнитура работала через wifi... Зашел на aliexpress, вбил "wifi headset" - больше тысячи результатов поиска. По-моему интересная тема для следующей статьи.
SmArtist; DrAku1a; +2 Ответить
45. Tiger77 66 12.04.18 17:44 Сейчас в теме
Не могу разобраться с компонентой.

Насколько я понимаю:

1. Программируем сканер в ACK/NAK режим
2. Загружаем компоненту из статьи или макета scanopos.dll
3. В обработке внешнего события, если штрихкод ок - отправляем ACK иначе NAK

но при отправке на "\\.\pipe\rs232" получаем ошибку
{ВнешняяОбработка.ОтправкаСигналаНаСканер.Форма.Форма1.Форма(6)}: Ошибка при вызове конструктора (ЗаписьДанных)
	ЗаписьДанных = Новый ЗаписьДанных("\\.\pipe\rs232", КодировкаТекста.ANSI, , "");
по причине:
Ошибка при работе с файлом: \\.\pipe\rs232
по причине:
Ошибка при выполнении файловой операции  '\\.\pipe\rs232'. 231(0x000000E7): Все копии канала заняты. 


Что можно посмотреть ?
46. vadnevzorov 427 13.04.18 09:41 Сейчас в теме
(45) Такая ошибка возникает, если отправлять ответ слишком часто (чаще, чем раз в 300 мс). Проверьте отладчиком, возможно этот участок кода вызывается несколько раз.
47. Tiger77 66 13.04.18 14:18 Сейчас в теме
(46) Это разовый вызов - для проверки даже сделал чистую обработку.
Пробовал делать задержку между получением штрихкода и ответом - ошибка такая же. :(
48. Tiger77 66 13.04.18 14:19 Сейчас в теме
(46) Можно как-то убедиться что загружается модифицированная компонента ?
49. vadnevzorov 427 14.04.18 11:29 Сейчас в теме
(48) Если загружена не модифицированная компонента, то текст ошибки будет другим:
{ВнешняяОбработка.ОтправкаСигналаНаСканер.Форма.Форма.Форма(424)}: Ошибка при вызове конструктора (ЗаписьДанных)
	ЗаписьДанных = Новый ЗаписьДанных("\\.\pipe\rs232", КодировкаТекста.ANSI, , "");
по причине:
Файл не найден: \\.\pipe\rs232
по причине:
Файл не обнаружен '\\.\pipe\rs232'. 2(0x00000002): Не удается найти указанный файл.


Но вообще странно, что у вас возникает такая ошибка. Вы работаете через COM порт? И компонента успешно открывает, занимает порт, принимает из него штрихкоды и инициирует внешнее событие? Попробуйте отключить антивирусы, вдруг они как-то влияют.
7. webester 29 11.01.18 03:56 Сейчас в теме
Вопрос, что делать если сканер подключен как клавиатура?
8. Артано 665 11.01.18 04:19 Сейчас в теме
(7) В режиме эмуляции клавиатуры, сканер это просто печатная машинка. Может есть какие-то возможности, но к чему такой изврат, когда есть возможность работы с известным с древнейших времен COM-портом
9. webester 29 11.01.18 05:19 Сейчас в теме
(8)Ввод в режиме ввода с клавиатуры мне не кажется извратом. Работает без установки драйверов, нет проблемы с портами(когда по какой то причине произвольно меняется номер порта, такое бывает нечасто, но бывает) Есть возможность использовать сканер не только в 1С.
11. Артано 665 11.01.18 06:23 Сейчас в теме
(9) А я и не говорил, что сам режим это изврат. Извратом назвал попытку работать с прерываниями в попытке наладить двухстороннюю связь при работе в этом режиме
16. vadnevzorov 427 11.01.18 11:21 Сейчас в теме
(9) Роман, полностью с вами согласен. Если не нужно управление сканером, то работа в режиме эмуляции клавиатуры самый простой и надежный вариант.
Для перевода в режим COM порта читайте документацию, в каждом сканере это делается по-разному. Правда некоторые старые сканеры такой режим не поддерживают (например, Datalogic QS6500BT).
64. hvv2002 5 21.05.19 14:51 Сейчас в теме
Добрый день ! Если кому то пригодится, то сканер honeywell 1450g , издает звук простой биип, в любом месте программы в любое время когда нужно . сделал в проекте на C#. нужно сканером прочитать с бумажки в документации Beep on BEL on. а затем в программе писать в порт сканера ( должен быть включен как ком порт - у меня через эмуляцию ком порта и драйвер ) символ ascii(7) , когда нужно издать звук.
10. torbeev 11.01.18 06:23 Сейчас в теме
12. ADirks 181 11.01.18 07:14 Сейчас в теме
Отличная статья! И Cino порадовал, да :) Ну наконец-то сделали то, что давно следовало.

Присоединюсь к вопросу про исходники.
17. vadnevzorov 427 11.01.18 11:23 Сейчас в теме
(12) Спасибо! Про исходники ответил выше.
18. spectre1978 50 11.01.18 12:00 Сейчас в теме
Автор, спасибо, вы провели отличное исследование! Будь моя воля - поставил бы больше плюсов чем один.
27. obmanOZ 17 16.01.18 11:30 Сейчас в теме
(18) Можно поставить минус, а потом два плюса)
корум; vadnevzorov; +2 Ответить
19. herfis 286 11.01.18 12:52 Сейчас в теме
Есть более простое и прямое, но дорогое решение, не упомянутое в статье.
Промышленные сканеры Zebra (бывшие Motorola, бывшие Symbol) с поддержкой протокола SNAPI.
По этому протоколу можно штатно давать обратную связь на сканер в любом виде: блокировать/разрешать сканирование, пиликать разными мелодиями, вибрировать вибратором, мигать светодиодами. Для них есть и беспроводные базы. Т.е. сканируешь в дальнем углу шумного склада, откуда и монитора не видно и колонки не добивают и вся обратная связь у тебя есть.
Из 1С ими можно управлять родными дровами Zebra Scanner SDK с сайта производителя, так как SDK реализован в т.ч. и в виде COM-объектов. Но есть пара хитростей.
20. vadnevzorov 427 11.01.18 23:38 Сейчас в теме
(19) Не знал про такие сканеры. Спасибо за информацию.
21. herfis 286 12.01.18 10:41 Сейчас в теме
(20) Конкретная модель, работающая у нас на складе через 1С - DS3578. Крэдл продается отдельно и тоже стоит денег. При покупке нужно быть внимательным, т.к. есть модификации без поддержки SNAPI (Symbol Native API). Почему-то SNAPI поддерживают только модификации крэдлов и сканеров с поддержкой FIPS (если не ошибаюсь - это какой-то федеральный стандарт шифрования при передачи данных по блютузу или что-то в этом духе, глубоко не вникал).
ЗЫ. Фактически, через SNAPI реализован полный программный доступ к сканеру. Т.е. можно его удаленно перепрограммировать.
22. vadnevzorov 427 12.01.18 10:49 Сейчас в теме
(21) Раз уж вы в теме, можете рассказать, в чем принципиальное отличие промышленных сканеров от обычных? Тот же Cino стоит в районе $500, ваш практически в 2 раза дороже. Почему у вас на фирме выбрали именно эти сканера?
23. herfis 286 12.01.18 11:50 Сейчас в теме
(22) Да без понятия, почему именно их. Это еще до меня произошло. Я ж не топлю за их волшебное сочетание цена/качество. Просто уже внедрили под другой программой, а я на 1С переводил. Про Cino я без понятия, да и вообще не сильно люблю с торговым оборудованием возиться, только по необходимости. Наигрался уже.
А промышленное оборудование отличается от обычного соответствием всяким там промышленным стандартам ударопрочности, влагопылезащищенности и т.п.
Т.е. даются какие-то гарантии надежной работы в не очень человеческих условиях. Ну, как и промышленные компьютеры отличаются от обычных. Характеристики в два раза хуже, цена в три раза выше :)
Но эти сканеры, честно говоря, очень приятно в руке держать. Они большие, но эргономичные, сбалансированные и сделаны на совесть. Хотя с заводским браком тоже сталкивался разок (не работал один из лазерных светодиодов, проецирующих прицельную сетку).
24. herfis 286 12.01.18 12:08 Сейчас в теме
(22) А! Вспомнил, что меня поразило. Вроде как по документации он даже изображения как-то способен сканировать! Вряд ли большие, скорее всего просто расширенный интерфейс сканирования QR-кодов. Раз через SNAPI полная обратная связь, то в теории можно самому чего-то распознавать при сканировании. Но могу соврать, мой английский мог меня и подвести. Так как не нужно было, то глубоко не вдавался.
25. vadnevzorov 427 12.01.18 12:20 Сейчас в теме
(24) Спасибо. Почитал еще на оф. сайте - таки да, они позиционируются как более прочные и надежные. Что их можно кидать с высоты двух метров на бетон вообще без проблем) Также они водонепроницаемые и поддерживают 2D штрихкоды. Ну и то, что вы написали - расширенные возможности по управлению с хоста.
26. pereligins 21 12.01.18 16:46 Сейчас в теме
Очень крутая статья! Спасибо!
28. herfis 286 16.01.18 11:35 Сейчас в теме
Сидят двое студентов на лекции.
Вдруг трое встают и выходят.
Препод грустно думает:
- Ну вот, еще один придет и вообще никого не останется...
aupovy; SmArtist; +2 Ответить
29. Mantis 136 17.01.18 08:31 Сейчас в теме
Спасибо, очень интересно!
Реально это та еще проблема!
30. Mantis 136 17.01.18 08:32 Сейчас в теме
Мвахахахаах кот на видео такой же тормоз как мой)
Живет своей жизнью в своем потоке)))
31. user925397 27.02.18 14:08 Сейчас в теме
Очень хорошая статья! А как загружали в него русские шрифты? И в каком формате?
32. vadnevzorov 427 27.02.18 18:06 Сейчас в теме
(31) Спасибо! Никак не загружал, они там были по умолчанию.
33. user925397 27.02.18 18:27 Сейчас в теме
Спасибо за такой быстрый ответ. А как Вы выводили русский текст в страницах? Просто русские буквы в UTF-16? Команды выбора кодовой страницы (CP) нужно было использовать? Судя по всему у Вас был выбор русского в настройках сканера? Т.к. я смотрю, что системные (Терм. и Онлайн) у Вас тоже на русском. Если не секрет, а у кого покупали сканер. С уважением, Андрей. gravru@mail.ru
34. vadnevzorov 427 27.02.18 22:46 Сейчас в теме
(33) Для вывода русского текста использовал кодовую страницу "OEM Russian", hex код 6203, а сам текст отправляю в кодировке UTF-16LE. Да, русский был изначально в настройках. Покупал у Ютиса, но на все вопросы по программированию сканера отвечали официальные представители Cino в Украине https://reef.ua/
35. user925397 28.02.18 14:30 Сейчас в теме
Спасибо, Вадим. За подробный ответ. У нас, к сожалению, продают эти сканеры без русского и без шрифтов 8(
37. Tiger77 66 12.03.18 01:53 Сейчас в теме
(35) Напишите производителю на Elsa_Lee@cino.com.tw - они вышлют русифицированную прошивку.
39. user925397 12.03.18 11:10 Сейчас в теме
(37) Спасибо за контакт! Обязательно напишу
36. imh9305 10 07.03.18 21:01 Сейчас в теме
а еще можно просто запустить тимвивер или рдп на телефоне и на компе...
40. de0nis 278 12.03.18 15:31 Сейчас в теме
(36) не очень удобно, во первых просто держать в руках два устройства - телефон и сканер - обе руки заняты, особенно если товар, что б отсканировать нужно брать в руки и искать штрих код. Во вторых, постоянно включенный экран сильно сажает батарею и большинство телефонов по умолчанию гасят его и уходят в блокировку, это конечно тоже можно перенастроить, но всё же.
38. Evil Beaver 6405 12.03.18 07:46 Сейчас в теме
Блистательно же! Обязательно пишите еще!!
41. de0nis 278 12.03.18 15:49 Сейчас в теме
Статья отличная!! Спасибо!! Ответ прямо на беспроводном сканере - это очень круто.
Настраивал как-то через колонки, только не через Сигнал() - его не слышно было, даже на не особо шумном складе, а сделал несколько waw-аудио файлов и в зависимости от результата 1С вызывала или файл - "Да!!" или файл "Ошибка". Так можно подобрать громкие звуки, которые нормально слышно. Но тоже не всегда можно применить, на пример, если шумное производство рядом или несколько кладовщиков одновременно что-то делают.
Еще несколько раз делали вариант - на тележке нетбук с проводным сканером :) дешево и сердито :)) за частую получается дешевле чем ТСД и соизмеримо с беспроводными сканерами, но тоже не всегда применимо. А с планшетом если подружить сканер и 1С, так вообще будет в полне удобно. :)
42. Malfarion 194 13.03.18 12:28 Сейчас в теме
Тоже очень понравилась статья, спасибо за нее.
43. СергейК 51 14.03.18 09:42 Сейчас в теме
Супер, Спасибо! Теперь надо подумать, а нужен ли нам ТСД то с такими продвинутыми
вариантами использования сканеров...
44. Malfarion 194 14.03.18 18:24 Сейчас в теме
где купить Cino F790WD по хорошей цене?
50. AlexeyK1 14 13.07.18 18:30 Сейчас в теме
Добрый день.
подскажите какой платформой/конфигурацией открывать обработку
а то ошибку выдает
Прикрепленные файлы:
51. vadnevzorov 427 18.07.18 10:22 Сейчас в теме
(50) Обработку следует открывать платформой не ниже 8.3.11.
AlexeyK1; +1 Ответить
52. alsb78 31.07.18 09:59 Сейчас в теме
Описания протокола на сайте нет, отправляют только по запросу

Описание протокола STERM есть в архиве с SDK: Cino FuzzyScan Software Development Kit_ Wi-Fi ScannerCino FuzzyScan Software Development Kit_ Wi-Fi Scanner
53. user1044014 06.09.18 15:13 Сейчас в теме
Такая же ошибка.
{ВнешняяОбработка.СообщениеНаСканер.Форма.Форма.Форма(268)}: Ошибка при вызове конструктора (ЗаписьДанных)
ЗаписьДанных = Новый ЗаписьДанных("\\.\pipe\rs232", КодировкаТекста.ANSI, , "");
по причине:
Ошибка при работе с файлом: \\.\pipe\rs232
по причине:
Ошибка при выполнении файловой операции '\\.\pipe\rs232'. 231(0x000000E7): Все копии канала заняты.
Подскажите кто нибудь в чем может быть причина.
Сам порт открыт. Отсканированные штрихкоды в программу прилетают. А при попытке отправить сообщение на сканер выскакивает это сообщение.
Сканер Cino/
54. vadnevzorov 427 06.09.18 18:19 Сейчас в теме
(53) Отвечал выше. Такая ошибка возникает, если отправлять ответ слишком часто (чаще, чем раз в 300 мс). Также попробуйте отключить антивирусы, возможно они как-то влияют. У нас встроенный от Microsoft, с ним всё ок.
55. user1044014 07.09.18 11:11 Сейчас в теме
Антивирус отключил. Не помогло. Дело в том что даже при переводе сканера в режим STERM выскакивает такая же ошибка. Т. е. на сканере выбираю пункт STERM нажимаю select, после нажатия со сканера в приложение отправляется запрос на который приложение должно отправить ответ в течении 3 секунд. По крайней мере так было написано в документации. Даже делал отсрочку выполнения команды на 1 и 2 секунды. Все равно та же самая ошибка.
56. vadnevzorov 427 07.09.18 14:44 Сейчас в теме
57. user1044014 07.09.18 16:50 Сейчас в теме
58. user1044014 07.09.18 16:50 Сейчас в теме
59. vadnevzorov 427 08.09.18 08:49 Сейчас в теме
(58) Разработка проводилась и тестировалась под Win 10 x64. Возможно в этом проблема.
60. user1044014 08.09.18 11:52 Сейчас в теме
Спасибо большое. На win 10 заработало.
61. user1044014 08.09.18 11:53 Сейчас в теме
Не понятно только почему на win 7 не работает а на win 10 работает.
62. k500y@yandex.ru 04.03.19 15:30 Сейчас в теме
Можно ли использовать данную dll для семерки?
63. vadnevzorov 427 05.03.19 09:30 Сейчас в теме
(62) К сожалению нет, она работает только на Win 10.
65. kostik_love 277 10.10.19 12:09 Сейчас в теме
Вот как нужно подходить к решению поставленных задач. Автор- Браво- Супер. Аплодирую стоя!!!
66. chavalah 973 14.10.19 21:48 Сейчас в теме
Отличная работа. Особенно "Привет, Infostart" в примерах порадовало)
67. WellMaster 99 23.10.19 09:50 Сейчас в теме
Сами используем ТСД, но статья очень понравилась, поставил плюс.
Возможно, когда-нибудь в будущем это пригодится.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Руководитель проектов 1С
Санкт-Петербург
Полный день

Программист 1С
Новосибирск
зарплата от 80 000 руб. до 150 000 руб.
Полный день

Консультант-аналитик 1С
Москва
зарплата от 40 000 руб. до 120 000 руб.
Полный день

Программист 1С
Красноярск
зарплата от 50 000 руб.
По совместительству

Бизнес-архитектор 1С, ведущий консультант
Санкт-Петербург
Полный день