Как подключить и настроить сканер штрих кодов, используя драйвер от Атол
Управляемые формы;
Рассмотрим задачу по настройке подключения сканера штрих кодов используя драйвер Атол 6.5.3.399 (02.11.2009). В нашем примере сканер будет подключен через USB-порт в разрез клавиатуры.
Решение.
Устанавливаем драйвер Атол. Далее в модуле управляемого приложения объявим глобальную переменную "глОбъектДрайвераСканераШтрихКода", в которую будем передавать объект драйвера, а в процедуре "ПриНачалеРаботыСистемы" пропишем код для подключения.
Перем глОбъектДрайвераСканераШтрихКода Экспорт;Теперь, при каждом сканировании будет происходить обработка внешнего события, и в процедуре "ОбработкаВнешнегоСобытия" получаем отсканированный штрих код и далее обрабатываем его уже по своему усмотрению.
Процедура ПриНачалеРаботыСистемы()
Порт = 100; // 100 - в том случае, если сканер подключается в разрезе клавиатуры, иначе необходимо указать номер используемого com-порта
Скорость = 7; // значению 7 - соответствует скорость 9600, возможные значения: 1 - 300, 2 - 600, 3 - 1200,
// 4 - 2400, 5 - 4800, 7 - 9600, 9 - 14400, 10 - 19200, 12 - 38400
Четность = 0; // возможные значения: 0 - "Нет", 1 - "Нечетность", 2 - "Четность", 3 - "Установлен", 4 - "Сброшен"
БитДанных = 3; // значению 3 соответствует 7, 4 соответствует 8
СтопБит = 0; // значению 0 соответствует 1, 2 соответствует 2
Чувствительность = 30; // при увеличении значения чувствительности снижается риск потери части штрих кода
Суффикс = 13; // должно соответствовать настройкам сканера
Попытка
ProgID = "AddIn.Scaner45";
ПодключитьВнешнююКомпоненту(ProgID);
ОбъектДрайвера = Новый (ProgID);
ОбъектДрайвера.ДобавитьУстройство();
Если ОбъектДрайвера.Результат = 0 Тогда
ОбъектДрайвера.НаименованиеТекущегоУстройства = ТекСканер.Наименование;
ОбъектДрайвера.НомерПорта = Порт;
ОбъектДрайвера.СкоростьОбмена = Скорость;
ОбъектДрайвера.Четность = Четность;
ОбъектДрайвера.БитыДанных = БитДанных;
ОбъектДрайвера.СтопБиты = СтопБит;
ОбъектДрайвера.Чувствительность = Чувствительность;
ОбъектДрайвера.Модель = 0;
ОбъектДрайвера.СтараяВерсия = 0;
ОбъектДрайвера.АвтоВыключение = 0;
ОбъектДрайвера.Суффикс = Символ(Суффикс);
ОбъектДрайвера.УстройствоВключено = 1;
глОбъектДрайвераСканераШтрихКода = ОбъектДрайвера;
Иначе
ОбъектДрайвера.УстройствоВключено = 0;
ОбъектДрайвера.УдалитьУстройство();
КонецЕсли;
Исключение
Сообщить("Ошибка подключения сканера!");
КонецПопытки
КонецПроцедуры
Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные)
Если Событие = "BarCodeValue" Тогда // драйвер сканера штрих кодов Атол всегда возвращает имя события "BarCodeValue"
ШтрихКод = глОбъектДрайвераСканераШтрихКода.Данные; // в отличии от драйвера от 1С , где штрих код получаем из параметра Данные,
// здесь штрих код мы получим из глобальной переменной, содержащую объект драйвера Атол
КонецЕсли;
КонецПроцедуры