Имя: Пароль:
1C
1С v8
Сканер Штрих кодов на управляемых формах
,
0 vende
 
22.09.14
16:46
Здравствуйте. Столкнулся с такой проблемой. Ни как не могу на новую форму подцепить сканер штрих кодов на управляемые формы. Вроде бы скопировал все из типовых форм... Код:

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    
    // МеханизмВнешнегоОборудования
    Если         МенеджерОборудованияКлиент.ОбновитьРабочееМестоКлиента() Тогда
        ОписаниеОшибки = "";

        ПоддерживаемыеТипыВО = Новый Массив();
        ПоддерживаемыеТипыВО.Добавить("СканерШтрихкода");
        ОборудованиеПодключено = МенеджерОборудованияКлиент.ПодключитьОборудованиеПоТипу(УникальныйИдентификатор,
            ПоддерживаемыеТипыВО,
            ОписаниеОшибки);

        Если Не ОборудованиеПодключено Тогда
            ТекстСообщения = НСтр("ru = 'При подключении оборудования произошла ошибка:
                                  |""%ОписаниеОшибки%"".'");
            ТекстСообщения = СтрЗаменить(ТекстСообщения, "%ОписаниеОшибки%", ОписаниеОшибки);
            ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
        КонецЕсли;
    КонецЕсли;
    // Конец МеханизмВнешнегоОборудования
    
КонецПроцедуры


Если ВводДоступен() Тогда
        
        ОписаниеСобытия = Новый Структура();
        ОписаниеОшибки  = "";
        ОписаниеСобытия.Вставить("Источник", Источник);
        ОписаниеСобытия.Вставить("Событие",  Событие);
        ОписаниеСобытия.Вставить("Данные",   Данные);
        
        Результат = МенеджерОборудованияКлиент.ПолучитьСобытиеОтУстройства(ОписаниеСобытия, ОписаниеОшибки);
        Если Результат = Неопределено Тогда
            ТекстСообщения = НСтр("ru = 'При обработке внешнего события от устройства произошла ошибка:'")
                                + Символы.ПС + ОписаниеОшибки;
            ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
        Иначе
            ОбработкаОповещения(Результат.ИмяСобытия, Результат.Параметр, Результат.Источник);
        КонецЕсли;
        
    КонецЕсли;


Как я посмотрел отладчиком , в типовых формах хватает этих процедур для получения данных со сканера. Дальше есть обработчики для отображения данных. Что забыл?
1 vende
 
22.09.14
16:49
Как то не правильно код вставился. Первая процедура при открытие. Подключает ТО. Вторая это
&НаКлиенте
Процедура ВнешнееСобытие(Источник, Событие, Данные)
    ЭтаФорма.Поле = Данные;    
    Если ВводДоступен() Тогда
        
        ОписаниеСобытия = Новый Структура();
        ОписаниеОшибки  = "";
        ОписаниеСобытия.Вставить("Источник", Источник);
        ОписаниеСобытия.Вставить("Событие",  Событие);
        ОписаниеСобытия.Вставить("Данные",   Данные);
        
        Результат = МенеджерОборудованияКлиент.ПолучитьСобытиеОтУстройства(ОписаниеСобытия, ОписаниеОшибки);
        Если Результат = Неопределено Тогда
            ТекстСообщения = НСтр("ru = 'При обработке внешнего события от устройства произошла ошибка:'")
                                + Символы.ПС + ОписаниеОшибки;
            ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
        Иначе
            ОбработкаОповещения(Результат.ИмяСобытия, Результат.Параметр, Результат.Источник);
        КонецЕсли;
        
    КонецЕсли;
    
КонецПроцедуры
2 vende
 
22.09.14
17:03
Извините за дурацкий пост. Уже понял где я затупил