|
Сканер штрих-кодов в режиме эмуляции COM-порта | ☑ | ||
---|---|---|---|---|
0
bahtik
17.10.13
✎
23:20
|
Люди! Пожалуйста, помогите разобраться со сканером штрих-кодов. Есть необходимость подключить его в режиме эмуляции COM-порта и отслеживать события от устройства. Конфигурация самописная (с нуля) на 8.3. Я пока не могу понять сам принцип: есть внешняя компонента 1С ScanOPOS (ее я скачал и установил, также есть обработка обслуживания 1CScanOPOSScan_v2.epf... Что тут для чего, нужна ли эта обработка обслуживания в версии 8.3 или можно напрямую обращаться к внешней компоненте и получать от нее события? Кто знает, подскажите, пожалуйста. Очень надо.
|
|||
1
Ленинград
17.10.13
✎
23:32
|
Я писал ответ, но я пяный и много ощибок так что прости
|
|||
2
bahtik
18.10.13
✎
00:54
|
(1) Ну вот почему все нужные люди бухают... )) Протрезвеешь, напиши, пожалуйста, а? Если вспомнишь, конечно ))
|
|||
3
CepeLLlka
18.10.13
✎
00:56
|
(0)Ну ты сам сканер то подключил в нужном тебе режиме?
Чтобы проверить поставь какую-нибудь конфу на 8.3 где есть работа со сканером.. и проверь.. Если всё норм, тогда могу сказать что я делал в 8.2 УФ чтобы подключить сканер через тонкий клиент.. В модуле управляего приложения: Перем ГлДрайверОбъекта Экспорт; Процедура ПередНачаломРаботыСистемы(Отказ) ГлДрайверОбъекта = Новый Соответствие(); КонецПроцедуры Сам драйвер подключаю только форме обработки, где мне нужно.. так как работа со сканером предполагается только в одном месте.. &НаКлиенте Процедура ПриОткрытии(Отказ) //*****************************************Создание объекда драйвера сканера и подключение сканера***************************************** ProgID = "AddIn.Scanner"; Попытка ПодключитьВнешнююКомпоненту(ProgID); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; ОбъектДрайвера = Новый (ProgID); Если ОбъектДрайвера <> Неопределено Тогда ГлДрайверОбъекта.Вставить("ДрайверСканера", ОбъектДрайвера); КонецЕсли; ОбъектДрайвера.Подсоединить("СканерШтрихКода"); ОбъектДрайвера.БитДанных = 8; ОбъектДрайвера.Порт = 1; ОбъектДрайвера.Скорость = 9600; ОбъектДрайвера.СтопСимвол = 13; ОбъектДрайвера.ИмяСобытия = "ПолученШтрихкод"; Результат = (ОбъектДрайвера.Занять(1) = 0); Если Результат Тогда ОбъектДрайвера.УстройствоВключено = 1; ОбъектДрайвера.ПосылкаДанных = 1; ОбъектДрайвера.ОчиститьВход(); ОбъектДрайвера.ОчиститьВыход(); Результат = (ОбъектДрайвера.УстройствоВключено = 1); Если НЕ Результат Тогда ОбъектДрайвера.УстройствоВключено = 0; ОбъектДрайвера.Освободить(); ОбъектДрайвера.Отсоединить(); Сообщить("Ошибка при подключении устройства. |Проверьте настройки порта."); КонецЕсли; Иначе ОбъектДрайвера.УстройствоВключено = 0; ОбъектДрайвера.Освободить(); ОбъектДрайвера.Отсоединить(); Сообщить("Не удалось занять устройство. |Возможно оно не подключено или |не верные настройки порта."); КонецЕсли; //*****************************************Создание объекда драйвера сканера и подключение сканера***************************************** КонецПроцедуры &НаКлиенте Процедура ПриЗакрытии() //Отключение сканера ОбъектДрайвера = ГлДрайверОбъекта["ДрайверСканера"]; ОбъектДрайвера.УстройствоВключено = 0; ОбъектДрайвера.Освободить(); ОбъектДрайвера.Отсоединить(); //Отключение сканера КонецПроцедуры Это что для подключения сканера и для отключения... А это уже в момент получения данных со сканера.. &НаКлиенте Процедура ВнешнееСобытие(Источник, Событие, Данные) В переменной - "Данные" будет то что было в штрих коде.. КонецПроцедуры У меня всё так работает на 8.2 УФ.. Я сканирую двумерные штрих коды правда.. Думаю что для 8.3 отличия не большие.. |
|||
4
CepeLLlka
18.10.13
✎
01:04
|
Ну это всё при условии, что ScanOPOS.dll зарегистрированная в системе, но ты вроде уже поставил её..
|
|||
5
bahtik
18.10.13
✎
01:27
|
(3) Спасибо тебе огромное! Сейчас буду пробовать...
|
|||
6
CepeLLlka
18.10.13
✎
07:54
|
Пожалуйста :) Я итак тут должен всем.. хоть кому-то помогу если смогу..
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |