Сканер штрих кода ошибка при подключении не удалось получить монопольный доступ у устройству
Привет, мемберы. Работаю админом в одной небольшой компании и столкнулся с такой бедой: с каждым днём у пользователей начинает переставать работать сканер штрих кода, и это число увеличивается в арифметической прогрессии, словно чума.
Ошибка в 1с: «Не удалось подключить устройство 1с, сканеры штрихкода. Проверье устройство. (999)»
«Снова приехал супервайзер и открыл вторую 1с, я же говорил этого не делать!» - подумал я. И очень расстроился, когда после закрытия всех клиентов проблема не устранилась. Стоит ли говорить, что после всех танцев с переподключением и ребутами ничего не решается. Пользователи готовы меня разорвать,а я начинаю сомневаться в своих интеллектуальных способностях!
Я уже даже всех клиентов с сервера 1с покидал, не помогает.
Судя по коду ошибки, что-то захватывает порт и не даёт 1с-ки его использовать.
В блокнот, кстати, тоже не сканится. Пикает штрих 1 раз и сканер отключается, а включается только после переподключения.
Сканер компьютером определяется.
Сканер: атоловский, 1с: Предприятие розница 2.2, Дистр: убунту
В оборудование 1с выставлено: клавиатура, суффикс 13, драйвера установлены нативные.
Призываю всех гуру 1с и убунту на пленум, не хотелось бы в кризис потерять работу :)
З.Ы. перелопатил гугл и яндекс, но решения не нашёл
Ты бы модели оборудования хоть указал.
Судя по коду ошибки, что-то захватывает порт и не даёт 1с-ки его использовать.
Так поищи кто, если tcp то netstat если ком то lsof, ну или по /proc погрепать.
Ты б хоть версию ОС написал
Спасибо, что ответил. Прописал эти команды: что тут нужно искать?
Смотри, в линуксе всё есть файл. Поэтому устройство - тоже файл. В директории /dev находится список файлов-утройств, которые подключены к данной машине.
Утилита lsof показывает список открытых файлов и кто его открыл. Com-порты открываются монопольно, поэтому кто-то открывший не даст открыть твоей жопе-Одина его второй раз.
Пишешь в терминал lsof или lsof | grep имяфайла и смотришь кто.
Ага, понял.Спасибо за подробное объяснение, кажется, я близок. А как здесь должен называться мой сканер ?
В блокнот, кстати, тоже не сканится.
В оборудование 1с выставлено: клавиатура
Убедись, что сканер не в режиме эмуляции ком порта работает. Вдруг по-дефолту он в rs232 настроен, и где-то у тебя штрихкод совпал с кодом сброса на заводские настройки.
Если в режиме клавиатуры - он в любом случае тебе будет «в блокнот» сканировать. Это не проблемы 1С.
Если только какой-то из процессов перехватывает весь ввод с клавиатуры, но тогда и с клавиатуры ты ничего не введёшь.
Вот, скорее всего его что-то перехватывает. Сейчас ищу что
Выставлена клавиатура, подключаю по ЮСБ
Можно проверить что это не удев с MM :)
udevadm info –query all /dev/ttyЧТОТАМУТЕБЯ
Если там есть что-то начинающееся с ID_MM_ (например ID_MM_CANDIDATE) эт значит, что udev при регистрации девайса запускает на нем пробер модема :) Может так совпадает, что в это время его пытается поюзать что-там-у-тебя. Есть еще похожая хрень с gprs, MTP и прочим..
Нет, эту статью я не находил. Вот что там нашёл, похоже на мою проблему: 7.10 видит устройство как USB HID v1.00 Keyboard, включает его, но когда вы сканируете действительный штрих-код, он выключается и не выводит штрих-код. usbkbd.ko был загружен, но все еще не работал.
Old Fix (ломает USB клавиатуры и мыши)
Если вы измените файл черного списка modprobe (/etc/modprobe.d/blacklist) и измените строки драйвера USB-ввода, чтобы они выглядели так:
Идеальное исправление для конечного пользователя не должно мешать другим устройствам использовать драйвер usbhid. Debian фактически создал скрипт с именем check_driver специально для этой цели. Добавление следующей строки решило проблему в моей системе, не отказываясь от моих продвинутых устройств USB HID:
KERNEL == «event 8 *», SYSFS == «04b4», SYSFS == «bca1», ACTION == «add», RUN + = "/ lib / udev / check_driver usbkbd $ devpath $ env "
Первый способ ломает мышку и клаву, хочу попробовать второй. Но немного не понял, куда нужно вписать эти строчки. Есть мысли ?
При обновлении программ семейства «1С: Предприятие 8» возникает необходимость в замене файлов-обработок обслуживания подключенного к программе торгового оборудования, причём новые обработки требуют новые версии драйверов. В настоящий момент данное ПО для сканеров штрихкода и считывателей магнитных карт для программ «1С» компании «АТОЛ» платные.
Если у Вас подключен сканер штрих кода или считыватель магнитных карт, используя драйвер «АТОЛ» то, либо Вам необходимо приобрести ключ защиты драйвера, либо использовать старый драйвер «АТОЛ» и воспользоваться исправленной нами обработкой обслуживания (см. сноску 1), либо подключить сканер штрих кода через новый стандартный драйвер «1С». Необходимость переустановки драйверов торгового оборудования может быть так же связана с необходимостью обновления какого-либо другого драйвера торгового оборудования или при использовании на одном ПК АРМК и «1C».
Инструкция по подключению сканера штрих кода USB интерфейсом к программным продуктам «1С: Предприятие» через стандартный драйвер «1С».
1.1. Для сканеров Metrologic:
1.1.1. Подключить сканер к USB.
1.1.2. Откройте инструкцию на сканер «Configuration Guide». На стр. 2 отсканируйте штрих код: «Recall Defaults»
1.1.3. В диспетчере устройств, группа «Устройства HID», должна появиться ветвь «USB-HID совместимое устройство»:
1.1.4. Отсканируйте на стр. 41 (раздел «Prefixes/Suffixes») штрихкод: «Disable LF Suffix»
1.1.5. Проверим работу сканера. Откройте любой текстовый редактор, например «Блокнот» или «Word» и отсканируйте какой-нибудь штрих код, но только не из инструкции. В тестовый документ должна быть добавлена строка с цифрами штрихкода и курсор должен находиться в начале следующей строки. Если считать штрихкод ещё раз, то должны получиться две строки с одинаковыми цифрами, например, сначала
1.1.6. Отсканируйте на стр. 68 (раздел «USB») штрихкод: «Enable Uni-Direction USB Serial Emulation Mode»
1.1.8. Отсоединяем сканер от USB, через 2с подсоединяем снова, сканер издаст звуковой сигнал и в диспетчере устройств, в группе «Порты (COM и LPT)» должен появиться: «Metrologic USB Scanner (COM7)» (номер порта произвольный). Открыв свойства данного устройства, на закладке «Advanced» можно поменять номер COM порта. Если поменяли номер порта, отключите, подключите сканер к USB.
"не удалось получить монопольный доступ к устройству"
Для сканеров CIPHER 1000 USB (Эмуляция COM).
1.2.1. Установить драйвер с CD диска из комплекта. Подключить сканер к USB. В диспетчере устройств, в группе «Порты (COM и LPT)» должен появиться: «Cipher USB Scanner (COM7)» (номер порта произвольный). Открыв свойства данного устройства, на закладке «Advanced» можно поменять номер COM порта.
2. В каталоге рабочей базы «1С: 7.7»должен быть файл «scanopos.dll» версии не менее «8.0.8.4.», для 1С8.1 он должен быть в каталоге «\Bin» программы. (Версию файла «dll» можно посмотреть на закладке «Версия» свойств файла), в папке «ExtForms\Equip» файлы: «Scanner1C_Vestor.ert» и «Scanner1C_Vestor.efd» (имя каталога текущей рабочей базы показывается внизу окна «Запуск 1С предприятия»). Установка и регистрация «dll» производится запуском файла «ScanOPOS.exe», затем следует скопировать файл из папки, в которую производилась установка.
3. Настройка сканера в программе «1С 7.7.»
4.Настройка сканера в программе «1С 8».
Сканеры штрихового кода с интерфейсом «в разрыв клавиатуры» и USB KB следует подключать через драйвер «АТОЛ», с интерфейсом RS232 (COM порт) можно подключать через стандартный драйвер «1С» по данной инструкции, исключая пункты описывающие подключение оборудования в Windows с установкой соответствующего драйвера (COM порт в диспетчере устройств уже должен быть).
Возможно подключение нескольких сканеров или считывателей магнитных карт к одному ПК под одним пользователем «1С». Настройка в «1С 7.7» производится в окне открытого файла «Scanner1C_Vestor_Multi.ert», а в «1С 8» просто добавляется ещё один сканер. В «1С 7.7» не предусмотрено подключение считывателя магнитных карт, но используя стандартный драйвер и слегка доработав «1С», можно подключить совместно и сканер, и считыватель магнитных карт.
К счастью, в типовых конфигурациях 1С 8 предусмотрено решение для отключения мешающих пользователей от базы.
Самостоятельная настройка сканера штрихкода
Проблема : Оператор одной из торговых точек попробовал поработать в 1С, однако при попытке начала внесения приходной накладной получил ошибку, как указано выше.
Ошибка : При подключении оборудования произошла ошибка "Не удалось подключить устройство "1С: Сканеры штрихкода (NativeApi) на <<Пользователь>> (Server11)": Ошибка подключения. Проверьте доступность устройства (999)"
Немного о всех вот этих надписях в ошибке : Когда возникает подобная ошибка по странному стечению обстоятельств её никто не наблюдает. Звонят очень часто и говорят нечто в стиле: "А не работает. Почему - не знаю!"
Когда же после некоторых разговоров и разъяснений всё-таки получается сказать, что за ошибка должна появиться перед глазами, почему она появиться должна именно там, как она выглядит, такая надпись просто дико всех пугает!
Не надо пугаться! Тут всё просто и ясно:
1С: Сканеры штрихкода (NativeApi) - Так обозначается в 1С драйвер сканера штрихкода, если он подключен к компьютеру через USB
<<Пользователь>> - Под таким именем вы вошли в Windows. Вы даже можете об этом не знать
(Server11) - Так и именно так называется ваш компьютер, все остальные компьютеры его видят именно так (ну, точней, компьютеры-то видят вообще по IP, но для удобства человека отображается именно так и ещё немного бла-бла-бла. )
Решение ошибки: Вы не поверите, но ошибку я решил быстрее, чем написал слово "Проблема" в начале всего этого текста статьи.
Всё дело в том, что внизу, если вы присмотритесь к картинке, есть две запущенные версии 1С. И запущена одна и та же база (более того - запущены под Администратором, то есть под одним паролем; как такое дала сделать 1С я понятия не имею!!). А при запуске какой-либо копии под настроенным пользователем 1С автоматически блокирует устройства, которые будет использовать. Ну, это как занять место в автобусе. Если его не уступить (не закрыть ранее открытую 1С), то с трудом сможет сесть на это место кто-то ещё.
Потому есть несколько вариантов устранения:
1) Закрыть все открытые 1С и открыть после заново
2) Закрыть ту 1С, где ошибка, и начать работать в ранее открытой 1С
3) Закрыть ранее открытую 1С
Ну, и как бы смотреть, что у вас свёрнуто в трей.
Ну, и не забывайте подписываться на канал "Кассовик" . И тогда ни одна, даже самая малейшая проблема не доставит Вам совершенно никаких неприятностей.
Читайте также: