Как настроить сканер штрихкода и подключить его к произвольной форме в УТ 11.3
Сначала сканер подключается и проверяется в настройках подключаемого оборудования, затем его события нужно принять на нужной форме. Ниже — обе части: настройка драйвера и код модуля формы, который получает штрихкод.
Настройка сканера и код для формы
Сначала покажу, как подключить и настроить сканер штрихкода через стандартный драйвер от 1С. Необходимо в разделе "НСИ и администрирование" выбрать пункт "РМК и оборудование". В открывшейся форме устанавливаем галку на "Использовать подключаемое оборудование" и жмём на пункт "Подключаемое оборудование":

Откроется форма, в которой слева в списке всех типов оборудования выбираем "Сканеры штрихкода", и создаем новый экземпляр нажатием на кнопку "Создать":
В открывшейся форме в поле драйвер оборудования выбираем "1С:Сканеры штрихкода (COM)" или "1С:Сканеры штрихкода (NativeApi)". Проследим, чтобы была установлена галка "Устройство используется", и сохраняем без закрытия данной формы:
После сохранения становится доступной кнопка "Настроить", куда мы и заходим. Откроется форма настройки сканера, на которой жмём в первую очередь на "Установить драйвер", после чего должно выйти сообщение об успешной установке внешней компоненты:
После этого необходимо в поле порт выбрать значение "Клавиатура". В принципе, этих настроек достаточно для нормальной работы сканера, поэтому проводим тест устройства и убеждаемся что сканер работает:

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