Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные)
//Сообщить(Событие);
//Сообщить(Данные);
Если Событие = "UniversalBroadcastEvent" Тогда
Протокол = Данные;
Часть1=Сред(Данные,СтрНайти(Данные,"_DATA"">")+7,СтрДлина(Данные)-(СтрНайти(Данные,"_DATA"">")+7));
Штрихкод= Лев(Часть1,(СтрНайти(Часть1,"<")-1));
Свойства = Новый Структура();
Свойства.Вставить("Данные", Штрихкод);
Если СтрДлина(Штрихкод)= 13 тогда
Оповестить("ВнешнееСобытие",Свойства,);
ИначеЕсли СтрДлина(Штрихкод)= 11 тогда
ОбщегоНазначенияКлиент.СоздатьСборку(Свойства);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура ПриНачалеРаботыСистемы()
//СоОбщить("1");
#Если НЕ ТолстыйКлиент И НЕ ТонкийКлиент И НЕ Вебклиент тогда
ИмяСобытия="com.xcheng.scanner.action.BARCODE_DECODING_BROADCAST";
Если не ПодключитьВнешнююКомпоненту("ОбщийМакет.Component", "Broadcasts", ТипВнешнейКомпоненты.Native) Тогда
ПоказатьПредупреждение(,"Компонента не подключена",5);
ЗавершитьРаботуСистемы(Ложь);
Иначе
Компонента = Новый("AddIn.Broadcasts.UniversalBroadcast");
Компонента.УстановитьПараметр("FilterName", "com.xcheng.scanner.action.BARCODE_DECODING_BROADCAST");
ШаблонДанных = Компонента.ПолучитьШаблонОписанияДанных();
tech = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонДанных,"EXTRA_BARCODE_DECODING_DATA",XMLСтрока(Ложь),XMLСтрока(0));
Компонента.УстановитьПараметр("CaptureData",tech);
КонецЕсли;
Если не Компонента.Подключить() Тогда
ТекстОшибки = "";
КодОшибки = Компонента.ПолучитьОшибку(ТекстОшибки);
ПоказатьПредупреждение(,"Ошибка: "+КодОшибки+", "+ТекстОшибки);
КонецЕсли;
#КонецЕсли
КонецПроцедуры
|