Сначала с подключением к конфигурации на обычных формах.
Открываем модуль обычного приложения и пишем вот такой код:
Перем Сканер Экспорт;
Процедура ПриНачалеРаботыСистемы()
// загрузка компоненты для обычного приложения
// работает и в управляемом приложении (толстый клиент)
// но, тогда нужно прописать эту процедуру в модуле управляемого приложения
Попытка
// Загрузка внешней компоненты
ЗагрузитьВнешнююКомпоненту("D:\ChumakDV\БАЗЫ\8.2\Сканер\Scaner1C.dll");
Попытка
// Создание объекта
Сканер = Новый("AddIn.Scaner45");
Сканер.OldVersion = 1;
Исключение
Сообщить("Объект не найден!");
КонецПопытки;
Исключение
Сообщить("Внешняя компонента драйвера не найдена");
КонецПопытки;
КонецПроцедуры
Процедура ПриЗавершенииРаботыСистемы()
// Отсоединение объекта
Если Константы.СканерИспользуется.Получить() Тогда
Сканер = 0;
КонецЕсли;
КонецПроцедуры
Перед этим нужно в каталог информационной базы скопировать файл Scaner1C.dll и зарегистрировать его через regsvr32.exe
Если все сделали правильно, то после запуска конфигурации в режиме обычного приложения, в меню Сервис - Параметры, должна появиться дополнительная вкладка "Драйвер сканера штрих-кода". В этой вкладке нужно настроить параметры сканера (порт, скорость, а также можно определить, к какому порту подключен сканер).
Получение информации со сканера.
Для этого используется процедура ВнешнееСобытие(Источник, Событие, Данные), где:
Источник - источник события
Событие - вид события, нам нужно событие BarCodeValue
Данные - данные, полученные со сканера.
Примеры обработок внешних событий:
// получаем штрихкод товара
Процедура ВнешнееСобытие(Источник, Событие, Данные)
// данные со сканера ШК
Если Событие = "BarCodeValue" Тогда
ШКТовара = СокрЛП(Данные);
КонецЕсли;
КонецПроцедуры
// открываем документ по штрихкоду
Процедура ВнешнееСобытие(Источник, Событие, Данные)
// данные со сканера ШК
Если Событие = "BarCodeValue" Тогда
ШКДок = СокрЛП(Данные);
НайтиИОткрытьДокумент(ШКДок);
КонецЕсли;
КонецПроцедуры
Процедура НайтиИОткрытьДокумент(ШКДок)
Попытка
ДокПриходная = Документы.Приходная.НайтиПоРеквизиту("ШКДокумента", ШКДок);
ДокПриходная.ПолучитьФорму("ФормаДокумента").Открыть();
Исключение
Сообщить("Документ со штрихкодом " + СокрЛП(ШКДок) + " не найден!");
КонецПопытки;
КонецПроцедуры
Подключение сканера в режиме управляемого приложения.
Осуществляется такой же функцией ЗагрузитьВнешнююКомпоненту. Единственное отличие - код для загрузки нужно прописать в модуле управляемого приложения. Запуск программы нужно производить в режиме толстого клиента, иначе компонента не загрузится.
Если все сделали правильно, то в конфигурации в режиме управляемых форм появится вкладка с подключенным драйвером.
Работа с данными сканера осуществляется также с помощью процедуры ВнешнееСобытие.