Здравствуйте. Имеется сканер Symbol DS4308. 1С 8.3.18.1363, конфигурация Медицина. Больничная аптека 2.2.7.27. Сканер работает в режиме USB HID со стандартным драйвером "1С NativeAPI".
На windows все прекрасно работает, сканируется QR-код, добавляется строчка в таблицу с товарами.
На linux не добавляется строчка в таблицу с товарами. Если сканировать в текстовый документ, то сканер выводит одинаковую строчку и на windows и на linux, например 10460288400673221CAEKYDKPVWXC4002991EE08002992FrlKRNvAD8QKHgijGElRtBNiSafOke+HnHgSpUugn8Y=
Помимо этого, в тесте подключения устройства почему-то не появляется изображение тестовых штрихкодов.
Подскажите пожалуйста, как заставить его работать на Astra Linux 1.7 ?
1. Переключить на RS-232. Линух с таким работает без дров обычно.
2. Если охота с клавиатурой, то выяснить правильный суффикс. Может там только CR или только LF, а не то и другое сразу. Я бы для начала именно туда посмотрел.
Но вообще, клавиатурный сканер передает сканкоды, а не коды символов, а потом система пытается эти коды интерпретировать, как нажатие конкретных кнопок, в итоге все ограничивается условными 105-ю клавишами вместо 255-ти символов в режиме RS-232.
ЗЫ: именно из-за этого в винде клавиша энтер передает CR+LF, а в линухе вполне может и только CR передавать.
(2) Прошу прощения за ламерский вопрос, а как выяснить правильный суффикс?
Я в настройках сканера перепробовал кучу вариантов - в суффиксе ставил и CR и LF и все равно передавалась строка с символами. Сканер сервисными кодами я сбрасывал до заводских, но опять же - на винде все работает с учетом сброса до заводских.
(4)
Да, прям из этой картинки. потом записать и закрыть и в таблице с товарами. При тесте не показывается изображение QR-кода - выглядит как на скрине, просто написан проверочный код текстом
(6) А как мне тестировать, если нет изображения QR в окне теста устройства?. Это видно на скрине, специально прикрепил в надежде на ответ. Ни QR ни обычного штрих-кода.
(9) Сканер определился как ttyACM0, выбрал его в настройках драйвера, но при сканировании он просто пищит 4 раза и ничего не передает. При попытке вставить данные даже в текстовый документ то же самое - 4 писка и ничего не происходит.
Попробовал даже права для всех сделать на /dev/ttyACM0, но эффекта не дало.
Сравнил результаты теста с windows и заметил, что не хватает символа 'GS' в передаваемой строчке. Пробовал в настройках драйвера поставить F8, но результата это не дало. Суффикс в конце я добавил через сервисные штрихкоды <DATA><SFX1>, а как добавить символ GS?
(11) 1. В линухе нет CR после скана. Из-за этого и не сканирует, а не из-за GS.
2. В дровах для линуха нет ttyACM0, но есть ttyS0-ttyS31 (при выборе СОМ1-СОМ32), если я правильно помню. Нужно просто через ln сделать сцылку с ttyACM0 на ttyS0 (ну или 10 - без разницы), потом чекануть.
ЗЫЗЫ: GS в линухе есть, но он в виде кода "08" вылез.
(11) Вообще ttyACMx в линуксе использовать не удобно, потому что цифра в конце зависит от того в какой USB-порт было воткнуто устройство и в какой последовательности с другими. Для этого в линуксе есть скрипты которые реагируют на подключение разных устройств к таким портам и создают ссылку на определенный ttySxx в зависимости от типа оборудования и производителя. Проверь у себя при подключении создается ссылка? Если нет желательно добавить в скрипт твое оборудование и в 1С уже использовать ttySхх
Добавлял пользователя в dialout, симптом тот же, что и для рута: при обращении cat /dev/ttyAMC0 вывод просто висит, ничего не происходит. Если пытаться сканером что-то отсканировать с него ничего не передается - они либо просто пищит будто прочитал, либо пищит 4 раза (в мануале сказано, что ошибка соединения)
Настройки драйвера 1С идентичны вашим.
Добавил в загрузку модули usbserial и cdc_acm, результат тот же.
(19) Выбрал из списка Virtual COM1
Все то же самое, в тест передает строчку, в документе 4 раза пищит. Если в текстовый документ сканировать, то тоже 4 раза пищит, что это значит? текстовый ведь явно читает данные.
В текстовый документ читает в режиме клавиатуры. В режиме СОМ-порта все обрабатывается отдельно.
Вообще не понимаю, что там настраивать. Я так даже палку RFID к 1С-у подтыкал и кучу других устройств. Правда дело было в Ubuntu. Но раз у вас все сканируется тестом, то что вы там неправильно делаете - я могу только догадываться. С какого там виртуальный СОМ - я тоже без понятия.
(20) Осталось проверить что сканер подключен к тому рабочему месту в котором пытаетесь сканировать. В сканере стоит галочка "использовать".
И еще вот так. Это не в 1С, а суффикс на самом сканере.
Почему доступно такое большое количество рабочих мест ? я выбрал все по очереди, но сканер все так же пищит.
Может ли это быть, если в текущий момент проверки пользователь залогинен на другой машине и сканирует другим штрих-кодом на винде?
(25) Рабочее место это сочетание компьютер на котором пользователь плюс сам пользователь. Потому как если пользователь перейдет на другой комп, то там вполне может быть другой сканер и подключен по другому.
Я отключил все лишние рабочие места (снял галочку использовать). Перевел даже сканер в клавиатурный режим, что бы убедиться, что это конкретное нужное рабочее место и в режиме клавиатуры он отправляет строчку в таблицу с товарами. Затем меняю этот же сканер этого же рабочего места в режим COM и проблема сохраняется: тестирование проходит успешно, в таблице с товарами сканер пищит 4 раза, т.е. не используется. Что это за бред?
Плюс еще заметил, что в тесте при использовании "Тестовый режим" все успешно, а при использовании "Рабочий режим" Сканер не предает никаких данных - просто пищит, типа прочитал и никаких символов не передает.
(22)
Добавил сервисными штрихкодами LF в суффикс сканера. Но все равно не работает.
Почему отличается строчка при сканировании в тестовом и рабочем режимах?
(30) Нашел причину. Были созданы лишние рабочие места. Пользователь сам садился на разные рабочие места и пытался настроить сканер. После удаления ВСЕХ рабочих мест и ВСЕХ оборудований и создания одного рабочего места и одного сканера штрих-кода все заработало.
Всем огромное спасибо за помощь, без Вас я бы не справился=)
(17) когда делаете cat /dev/ttyAMC0 то он ждет от вас сканирование штрихкода, и тогда покажет вывод в консоль. те настройки которые я написал это именно из Астры орел + пользователь в домене без админских прав, правда сканер другой. Может у вас как то неправильно настроился сканер? есть к нему подробный мануал со штрихкодами настройки? интерфейс я понимаю у него USB? 4 сигнала это ошибка передачи данных.
(25) Сделай показать все, там галкой будет отмечен текущее раб место, а на разных компах у одного пользователя будут разные раб места. Хотя кто его знает, может и ваша версия верна. Попробуйте завести тестового.