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