Сначала покажу, как подключить и настроить сканер штрихкода через стандартный драйвер от 1С. Необходиво в разделе "НСИ и администрировние" выбрать пункт "РМК и оборудование". В открывшейся форме устанавливаем галку на "Использовать подключаемое оборудование" и жмём на пункт "Подключаемое оборудование":
Откроется форма, в которой слева в списке всех типов оборудования выбираем "Сканеры штрихкода", и создаем новый экземпляр нажатием на кнопку "Создать":
В открывшейся форме в поле драйвер оборудования выбираем "1С:Сканеры штрихкода (COM)" или "1С:Сканеры штрихкода (NativeApi)". Проследим, чтобы была установлена галка "Устройство используется", и сохраняем без закрытия данной формы:
После сохранения становится доступной кнопка "Настроить", куда мы и заходим. Откроется форма настройки сканера, на которой жмём в первую очередь на "Установить драйвер", после чего должно выйти сообщение об успешной установки внешней компоненты:
После этого необходимо в поле порт выбрать значение "Клавиатура". В принципе, этих настроек достаточно для нормальной работы сканера, поэтому проводим тест устройства и убеждаемся что сканер работает:
Сохраняем наши настройки.
Теперь подключим механизм работы сканера штрихкода к произвольной форме. В модуле формы прописываем следующие куски кода:
В процедуре ПриОткрытии добавляем:
ПоддерживаемыеТипыВО = Новый Массив();
ПоддерживаемыеТипыВО.Добавить("СканерШтрихкода");
ОповещенияПриПодключении = Новый ОписаниеОповещения("ПодключитьОборудованиеЗавершение", ЭтотОбъект);
МенеджерОборудованияКлиент.НачатьПодключениеОборудованиеПоТипу(ОповещенияПриПодключении, УникальныйИдентификатор, ПоддерживаемыеТипыВО);
В процедуре ПриЗакрытии добавляем:
ПоддерживаемыеТипыВО = Новый Массив();
ПоддерживаемыеТипыВО.Добавить("СканерШтрихкода");
ОповещенияПриПодключении = Новый ОписаниеОповещения("ОтключитьОборудованиеЗавершение", ЭтотОбъект);
МенеджерОборудованияКлиент.НачатьОтключениеОборудованиеПоТипу(ОповещенияПриПодключении, УникальныйИдентификатор, ПоддерживаемыеТипыВО);
В процедуре ОбработкаОповещения добавляем:
Если Источник = "ПодключаемоеОборудование" И ВводДоступен() Тогда
Если ИмяСобытия = "ScanData" И МенеджерОборудованияКлиентПереопределяемый.ЕстьНеобработанноеСобытие() Тогда
ОбработатьШтрихкоды(ПодключаемоеОборудованиеУТКлиент.ПреобразоватьДанныеСоСканераВМассив(Параметр));
КонецЕсли;
КонецЕсли;
Теперь добавляем процедуры, которые вызывались из вышеуказанных обработчиков событий:
&НаКлиенте
Процедура ПодключитьОборудованиеЗавершение(РезультатВыполнения, Параметры) Экспорт
Если Не РезультатВыполнения.Результат Тогда
ТекстСообщения = НСтр( "ru = 'При подключении оборудования произошла ошибка:""%ОписаниеОшибки%"".'");
ТекстСообщения = СтрЗаменить(ТекстСообщения, "%ОписаниеОшибки%" , РезультатВыполнения.ОписаниеОшибки);
Сообщить(ТекстСообщения);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОтключитьОборудованиеЗавершение(РезультатВыполнения, Параметры) Экспорт
Если Не РезультатВыполнения.Результат Тогда
ТекстСообщения = НСтр( "ru = 'При отключении оборудования произошла ошибка: ""%ОписаниеОшибки%"".'");
ТекстСообщения = СтрЗаменить(ТекстСообщения, "%ОписаниеОшибки%" , РезультатВыполнения.ОписаниеОшибки);
Сообщить(ТекстСообщения);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОбработатьШтрихкоды(ДанныеШтрихкода)
Штрихкод = ДанныеШтрихкода[0].Штрихкод;
Сообщить(Штрихкод);
КонецПроцедуры
В процедуре ОбработатьШтрихкоды мы получаем отсканированный штрихкод и делаем уже с ним всё что необходимо по той или иной задаче. В моем примере я просто вывожу его через сообщение пользователю.