Как подключить и настроить сканер штрих кодов, используя драйвер от 1С
Управляемые формы;
Рассмотрим задачу по подключению сканера штрих кодов используя драйвер "1С:Сканер штрихкода" 8.0.17.3. В нашем примере сканер будет подключен через USB-порт в разрез клавиатуры.
Решение.
Устанавливаем драйвер 1С. Далее в модуле управляемого приложения в процедуре "ПриНачалеРаботыСистемы" прописываем код для подключения.
Процедура ПриНачалеРаботыСистемы()
ПутьКДрайверу = "C:\Program Files (x86)\1C\1C Barcode scanner\8_0_17_3\ScanOPOS.dll";
Порт = 0; // 0 - в том случае, если сканер подключается в разрезе клавиатуры, иначе необходимо указать номер используемого com-порта
БитДанных = 8; // возможные значения от 1 до 8 (должно соответствовать настройкам сканера)
Скорость = 9600; // возможные значения: 110, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200,
//38400, 56000, 57600, 115200, 128000, 256000 (должно соответствовать настройкам сканера)
Суффикс = "13"; // должно соответствовать настройкам сканера
Попытка
ЗагрузитьВнешнююКомпоненту(ПутьКДрайверу);
ОбъектДрайвера = Новый("AddIn.Scanner");
ОбъектДрайвера.Open(1);
ОбъектДрайвера.ИмяСобытия = "BarCodeValue";
ОбъектДрайвера.ОчиститьВход();
ОбъектДрайвера.ОчиститьВыход();
ОбъектДрайвера.АвтоВыключение = 0;
ОбъектДрайвера.ПосылкаДанных = 1;
ОбъектДрайвера.УстройствоВключено = 1;
ОбъектДрайвера.ЗапрещениеСобытий = 0;
ОбъектДрайвера.Порт = Порт;
ОбъектДрайвера.СуффиксСтрока = Суффикс;
ОбъектДрайвера.СтопСимвол = 13;
ОбъектДрайвера.БитДанных = БитДанных;
ОбъектДрайвера.Скорость = Скорость;
Попытка
Результат = (ОбъектДрайвера.Занять(1) = 0);
Исключение
Результат = Ложь;
КонецПопытки;
Если Результат Тогда
ОбъектДрайвера.УстройствоВключено = 1;
ОбъектДрайвера.ПосылкаДанных = 1;
ОбъектДрайвера.ОчиститьВход();
ОбъектДрайвера.ОчиститьВыход();
КонецЕсли;
Исключение
Сообщить("Ошибка подключения сканера!");
КонецПопытки;
КонецПроцедуры
Теперь, при каждом сканировании будет происходить обработка внешнего события, и в процедуре "ОбработкаВнешнегоСобытия" получаем отсканированный штрих код и далее обрабатываем его уже по своему усмотрению.
Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные)
Если Событие = "BarCodeValue" Тогда
ШтрихКод = Данные;
КонецЕсли;
КонецПроцедуры