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

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

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

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

Комментарии
Избранное Подписка Сортировка: Древо
1. A_Max 17 10.01.18 18:22 Сейчас в теме
ScanOPOS меняли бинарник или где-то есть исходники?
13. vadnevzorov 423 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 526 10.01.18 23:14 Сейчас в теме
ваш сканер будет пищать как ...
madway; Mahon83; shard; DenisF8; корум; w22u; TreeDogNight; webester; DrAku1a; +9 Ответить
14. vadnevzorov 423 11.01.18 11:07 Сейчас в теме
(4) Если будет продолжение статьи, так и назову))
DenisF8; DrAku1a; +2 Ответить
5. CheBurator 3402 11.01.18 00:57 Сейчас в теме
Отличный материал! (порадовал cino)
Включил в свою подборку публикаций по группе "Адресный учет и логистика склада" https://infostart.ru/community/groups/22/
6. DrAku1a 1302 11.01.18 02:22 Сейчас в теме
Хм... я первое о чём подумал - не колонки, а блютуз-гарнитурка (для ПК надо передатчик, для ноута - блюпуп встроен).
Однако, такая гарнитура имеет сравнительно небольшую дальность и критична к препятствиям.
SmArtist; +1 Ответить
15. vadnevzorov 423 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 423 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 423 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. Артано 663 11.01.18 04:19 Сейчас в теме
(7) В режиме эмуляции клавиатуры, сканер это просто печатная машинка. Может есть какие-то возможности, но к чему такой изврат, когда есть возможность работы с известным с древнейших времен COM-портом
9. webester 29 11.01.18 05:19 Сейчас в теме
(8)Ввод в режиме ввода с клавиатуры мне не кажется извратом. Работает без установки драйверов, нет проблемы с портами(когда по какой то причине произвольно меняется номер порта, такое бывает нечасто, но бывает) Есть возможность использовать сканер не только в 1С.
11. Артано 663 11.01.18 06:23 Сейчас в теме
(9) А я и не говорил, что сам режим это изврат. Извратом назвал попытку работать с прерываниями в попытке наладить двухстороннюю связь при работе в этом режиме
16. vadnevzorov 423 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 423 11.01.18 11:23 Сейчас в теме
(12) Спасибо! Про исходники ответил выше.
18. spectre1978 50 11.01.18 12:00 Сейчас в теме
Автор, спасибо, вы провели отличное исследование! Будь моя воля - поставил бы больше плюсов чем один.
27. obmanOZ 14 16.01.18 11:30 Сейчас в теме
(18) Можно поставить минус, а потом два плюса)
корум; vadnevzorov; +2 Ответить
19. herfis 285 11.01.18 12:52 Сейчас в теме
Есть более простое и прямое, но дорогое решение, не упомянутое в статье.
Промышленные сканеры Zebra (бывшие Motorola, бывшие Symbol) с поддержкой протокола SNAPI.
По этому протоколу можно штатно давать обратную связь на сканер в любом виде: блокировать/разрешать сканирование, пиликать разными мелодиями, вибрировать вибратором, мигать светодиодами. Для них есть и беспроводные базы. Т.е. сканируешь в дальнем углу шумного склада, откуда и монитора не видно и колонки не добивают и вся обратная связь у тебя есть.
Из 1С ими можно управлять родными дровами Zebra Scanner SDK с сайта производителя, так как SDK реализован в т.ч. и в виде COM-объектов. Но есть пара хитростей.
20. vadnevzorov 423 11.01.18 23:38 Сейчас в теме
(19) Не знал про такие сканеры. Спасибо за информацию.
21. herfis 285 12.01.18 10:41 Сейчас в теме
(20) Конкретная модель, работающая у нас на складе через 1С - DS3578. Крэдл продается отдельно и тоже стоит денег. При покупке нужно быть внимательным, т.к. есть модификации без поддержки SNAPI (Symbol Native API). Почему-то SNAPI поддерживают только модификации крэдлов и сканеров с поддержкой FIPS (если не ошибаюсь - это какой-то федеральный стандарт шифрования при передачи данных по блютузу или что-то в этом духе, глубоко не вникал).
ЗЫ. Фактически, через SNAPI реализован полный программный доступ к сканеру. Т.е. можно его удаленно перепрограммировать.
22. vadnevzorov 423 12.01.18 10:49 Сейчас в теме
(21) Раз уж вы в теме, можете рассказать, в чем принципиальное отличие промышленных сканеров от обычных? Тот же Cino стоит в районе $500, ваш практически в 2 раза дороже. Почему у вас на фирме выбрали именно эти сканера?
23. herfis 285 12.01.18 11:50 Сейчас в теме
(22) Да без понятия, почему именно их. Это еще до меня произошло. Я ж не топлю за их волшебное сочетание цена/качество. Просто уже внедрили под другой программой, а я на 1С переводил. Про Cino я без понятия, да и вообще не сильно люблю с торговым оборудованием возиться, только по необходимости. Наигрался уже.
А промышленное оборудование отличается от обычного соответствием всяким там промышленным стандартам ударопрочности, влагопылезащищенности и т.п.
Т.е. даются какие-то гарантии надежной работы в не очень человеческих условиях. Ну, как и промышленные компьютеры отличаются от обычных. Характеристики в два раза хуже, цена в три раза выше :)
Но эти сканеры, честно говоря, очень приятно в руке держать. Они большие, но эргономичные, сбалансированные и сделаны на совесть. Хотя с заводским браком тоже сталкивался разок (не работал один из лазерных светодиодов, проецирующих прицельную сетку).
24. herfis 285 12.01.18 12:08 Сейчас в теме
(22) А! Вспомнил, что меня поразило. Вроде как по документации он даже изображения как-то способен сканировать! Вряд ли большие, скорее всего просто расширенный интерфейс сканирования QR-кодов. Раз через SNAPI полная обратная связь, то в теории можно самому чего-то распознавать при сканировании. Но могу соврать, мой английский мог меня и подвести. Так как не нужно было, то глубоко не вдавался.
25. vadnevzorov 423 12.01.18 12:20 Сейчас в теме
(24) Спасибо. Почитал еще на оф. сайте - таки да, они позиционируются как более прочные и надежные. Что их можно кидать с высоты двух метров на бетон вообще без проблем) Также они водонепроницаемые и поддерживают 2D штрихкоды. Ну и то, что вы написали - расширенные возможности по управлению с хоста.
26. pereligins 21 12.01.18 16:46 Сейчас в теме
Очень крутая статья! Спасибо!
28. herfis 285 16.01.18 11:35 Сейчас в теме
Сидят двое студентов на лекции.
Вдруг трое встают и выходят.
Препод грустно думает:
- Ну вот, еще один придет и вообще никого не останется...
SmArtist; +1 Ответить
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 423 27.02.18 18:06 Сейчас в теме
(31) Спасибо! Никак не загружал, они там были по умолчанию.
33. user925397 27.02.18 18:27 Сейчас в теме
Спасибо за такой быстрый ответ. А как Вы выводили русский текст в страницах? Просто русские буквы в UTF-16? Команды выбора кодовой страницы (CP) нужно было использовать? Судя по всему у Вас был выбор русского в настройках сканера? Т.к. я смотрю, что системные (Терм. и Онлайн) у Вас тоже на русском. Если не секрет, а у кого покупали сканер. С уважением, Андрей. gravru@mail.ru
34. vadnevzorov 423 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 275 12.03.18 15:31 Сейчас в теме
(36) не очень удобно, во первых просто держать в руках два устройства - телефон и сканер - обе руки заняты, особенно если товар, что б отсканировать нужно брать в руки и искать штрих код. Во вторых, постоянно включенный экран сильно сажает батарею и большинство телефонов по умолчанию гасят его и уходят в блокировку, это конечно тоже можно перенастроить, но всё же.
38. Evil Beaver 6362 12.03.18 07:46 Сейчас в теме
Блистательно же! Обязательно пишите еще!!
41. de0nis 275 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 423 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 423 06.09.18 18:19 Сейчас в теме
(53) Отвечал выше. Такая ошибка возникает, если отправлять ответ слишком часто (чаще, чем раз в 300 мс). Также попробуйте отключить антивирусы, возможно они как-то влияют. У нас встроенный от Microsoft, с ним всё ок.
55. user1044014 07.09.18 11:11 Сейчас в теме
Антивирус отключил. Не помогло. Дело в том что даже при переводе сканера в режим STERM выскакивает такая же ошибка. Т. е. на сканере выбираю пункт STERM нажимаю select, после нажатия со сканера в приложение отправляется запрос на который приложение должно отправить ответ в течении 3 секунд. По крайней мере так было написано в документации. Даже делал отсрочку выполнения команды на 1 и 2 секунды. Все равно та же самая ошибка.
56. vadnevzorov 423 07.09.18 14:44 Сейчас в теме
57. user1044014 07.09.18 16:50 Сейчас в теме
58. user1044014 07.09.18 16:50 Сейчас в теме
59. vadnevzorov 423 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 423 05.03.19 09:30 Сейчас в теме
(62) К сожалению нет, она работает только на Win 10.
65. kostik_love 275 10.10.19 12:09 Сейчас в теме
Вот как нужно подходить к решению поставленных задач. Автор- Браво- Супер. Аплодирую стоя!!!
66. chavalah 969 14.10.19 21:48 Сейчас в теме
Отличная работа. Особенно "Привет, Infostart" в примерах порадовало)
67. WellMaster 99 23.10.19 09:50 Сейчас в теме
Сами используем ТСД, но статья очень понравилась, поставил плюс.
Возможно, когда-нибудь в будущем это пригодится.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Ведущий программист 1С
Омск
зарплата от 70 000 руб. до 110 000 руб.
Полный день

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

Консультант-аналитик 1С
Рязань
зарплата до 80 000 руб.
Полный день

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

Программист 1С
Рязань
зарплата от 90 000 руб.
Полный день