Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Вопрос по подключению сканера штрих-кодов

Вопрос по подключению сканера штрих-кодов
Я
   IVT_2009
 
23.07.20 - 10:37
Существует ли простой способ подключить сканер штрих кода не в режиме клавиатуры в управляемых формах с использованием компоненты сканера от 1с. Где можно пример посмотреть?
   IVT_2009
 
1 - 23.07.20 - 10:38
Можно его через библиотеку подключаемого оборудования подключить , но мне только для него не хотелось бы ее тащить в свой проект
   unbred
 
2 - 23.07.20 - 10:40
гугл первая ссылка
   IVT_2009
 
3 - 23.07.20 - 10:43
(2) пробовал и не раз, потому задаю вопросы
   IVT_2009
 
4 - 23.07.20 - 10:51
Пробую

Попытка
  // Загрузка внешней компоненты

   ЗагрузитьВнешнююКомпоненту("e:\Scanner.dll");
Попытка
  // Создание объекта

  //AddIn.Scanner

  //Сканер = Новый("AddIn.Scaner45");

  Сканер = Новый("AddIn.Scaner");
  Сканер.OldVersion = 1;
  Исключение
  Сообщить("Объект не найден!");
КонецПопытки;
Исключение
  Сообщить("Внешняя компонента драйвера не найдена");
КонецПопытки;


регистрирую компоненту в реестре.
пишет Внешняя компонента драйвера не найдена
   Василий Алибабаевич
 
5 - 23.07.20 - 10:57
(4) AddIn.Scaner45 - оно COM. И ему не нужно ЗагрузитьВнешнююКомпоненту. Это для натив.
Его нужно харагистрировать на компьютере с помощью regsvr32 . И дальше пользовать Сканер = Новый COMОбъект("AddIn.Scaner");
   Василий Алибабаевич
 
6 - 23.07.20 - 10:57
/*зарегистрировать
   IVT_2009
 
7 - 23.07.20 - 11:14
Смотрю в отладчике Новый("AddIn.Scaner")
пишет {(1)}: Тип не определен (AddIn.Scaner)
в реестре регистрировал. 
Сейчас типовой драйвер от 1с попробую
   IVT_2009
 
8 - 23.07.20 - 11:20
Установил стандартный драйвер от 1с , вижу тот же результат. Что я не правильно делаю ?
   IVT_2009
 
9 - 23.07.20 - 12:46
   IVT_2009
 
10 - 23.07.20 - 13:54
для драйвера 1с

&наКлиенте
процедура вклСканер()
    
    ProgID = "AddIn.Scanner";
    ПодключитьВнешнююКомпоненту(ProgID);
    ОбъектДрайвера     = Новый (ProgID);
    порт             = 11;// 0 - в том случае, если сканер подключается в разрезе клавиатуры, иначе необходимо указать номер используемого com-порта 

    БитДанных         = 8;// возможные значения от 1 до 8 (должно соответствовать настройкам сканера) 

    Скорость         = 9600;// возможные значения: 110, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 56000, 57600, 115200, 128000, 256000 (должно соответствовать настройкам сканера) 

    Суффикс         = "13";// должно соответствовать настройкам сканера 

    
    попытка
        
        ОбъектДрайвера.Open(1); 
        ОбъектДрайвера.ИмяСобытия = "BarCodeValue"; 
        ОбъектДрайвера.ОчиститьВход(); 
        ОбъектДрайвера.ОчиститьВыход(); 
        ОбъектДрайвера.АвтоВыключение = 0; 
        ОбъектДрайвера.ПосылкаДанных = 1; 
        ОбъектДрайвера.УстройствоВключено = 1; 
        ОбъектДрайвера.ЗапрещениеСобытий = 0; 
        ОбъектДрайвера.Порт = порт; 
        ОбъектДрайвера.СтопСимвол = 13; 
        
        Попытка 
            
            Результат = (ОбъектДрайвера.Занять(1) = 0); 
            
        Исключение 
            
            Результат = Ложь; 
            
        КонецПопытки; 
        
        Если Результат Тогда 
            
            ОбъектДрайвера.УстройствоВключено = 1; 
            ОбъектДрайвера.ПосылкаДанных = 1; 
            ОбъектДрайвера.ОчиститьВход(); 
            ОбъектДрайвера.ОчиститьВыход();
            
        КонецЕсли;    
        
    Исключение 
        
        Сообщить("Ошибка подключения сканера!"); 
        
    КонецПопытки;
    
конецпроцедуры     //вклСканер



&НаКлиенте
Процедура кнПодключить(Команда)
    
    вклСканер();
    
КонецПроцедуры

&НаКлиенте
Процедура ВнешнееСобытие(Источник, Событие, Данные)
    
    Если Событие="BarCodeValue" Тогда
        
        сообщить(Данные);
        
    КонецЕсли;
    
КонецПроцедуры

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.