![]() |
![]() |
![]() |
|
нужно чтобы ПроцессорВывода.Вывести выгрузил в ТЗ из COMобъект | ☑ | ||
---|---|---|---|---|
0
Комфортный
12.03.14
✎
23:17
|
&НаКлиенте
Процедура Сравнить(Команда) СравнитьНаСервере(); КонецПроцедуры &НаСервере Процедура СравнитьНаСервере() ОтчетОбъект=РеквизитФормыВЗначение("Отчет"); ИсточникДанных2=ОтчетОбъект.СхемаКомпоновкиДанных.ИсточникиДанных.Добавить(); ИсточникДанных2.Имя="ИсточникДанных2"; ИсточникДанных2.СтрокаСоединения="Srvr=""Prog1C"";Ref=""ImperialStorchous"";Usr=""СторчоусМИ"";Pwd=""40461RT"""; //ИсточникДанных2.ТипИсточникаДанных= "ВнешниеИсточникиДанных.ВнешнийИсточникДанных1"; ИсточникДанных2.ТипИсточникаДанных= "Local"; ОтчетОбъект.СхемаКомпоновкиДанных.НаборыДанных.НаборДанных1.ИсточникДанных="ИсточникДанных2"; ТЗ=Новый ТаблицаЗначений; ВнешниеНаборыДанных = Новый Структура; ВнешниеНаборыДанных.Вставить("ТЗ",ТЗ); КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; //МакетКомпоновки = КомпоновщикМакета.Выполнить(ОтчетОбъект.СхемаКомпоновкиДанных,Отчет.КомпоновщикНастроек.ПолучитьНастройки()); //МакетКомпоновки = КомпоновщикМакета.Выполнить(ОтчетОбъект.СхемаКомпоновкиДанных,Отчет.КомпоновщикНастроек.ПолучитьНастройки() , ДанныеРасшифровки , ,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); МакетКомпоновки = КомпоновщикМакета.Выполнить(ОтчетОбъект.СхемаКомпоновкиДанных,Отчет.КомпоновщикНастроек.ПолучитьНастройки() , , ,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); ПараметрыСоединения="Srvr=""Prog1C"";Ref=""ImperialStorchous"";Usr=""СторчоусМИ"";Pwd=""40461RT"""; Соединение=СоздатьСоединение(ПараметрыСоединения); ПроцессорКомпоновкиДанных = Соединение.NewObject("ПроцессорКомпоновкиДанных"); Строка = ЗначениеВСтрокуXML(МакетКомпоновки); ЧтениеXML= Соединение.NewObject("ЧтениеXML"); ЧтениеXML.УстановитьСтроку(Строка); Строка2= ЗначениеВСтрокуXML(ВнешниеНаборыДанных); ЧтениеXML2= Соединение.NewObject("ЧтениеXML"); ЧтениеXML2.УстановитьСтроку(Строка2); //Соединение.СериализаторXDTO.ПрочитатьXML(ЧтениеXML); //ПроцессорКомпоновкиДанных.Инициализировать(ЗначениеИзСтрокиXML(ЗначениеВСтрокуXML(МакетКомпоновки))); ПроцессорКомпоновкиДанных.Инициализировать(Соединение.СериализаторXDTO.ПрочитатьXML(ЧтениеXML),Соединение.СериализаторXDTO.ПрочитатьXML(ЧтениеXML2)); Результат.Очистить(); Табл=Новый ТаблицаЗначений; //ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; //ПроцессорВывода.УстановитьДокумент(Результат); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; ПроцессорВывода.УстановитьОбъект(Табл); //ПроцессорВывода.НачатьВывод(); // //Пока Истина Цикл // // ЭлементРезультата=ПроцессорКомпоновкиДанных.Следующий(); // // Если ЭлементРезультата = Неопределено Тогда // // Прервать; // // Иначе // // ЗаписьXML= Соединение.NewObject("ЗаписьXML"); // // ЗаписьXML.УстановитьСтроку(); // // Соединение.СериализаторXDTO.ЗаписатьXML(ЗаписьXML,ЭлементРезультата); // // ПроцессорВывода.ВывестиЭлемент(ЗначениеИзСтрокиXML(ЗаписьXML.Закрыть())); // // КонецЕсли; // // //КонецЦикла; // //ПроцессорВывода.ЗакончитьВывод(); ЗаписьXML= Соединение.NewObject("ЗаписьXML"); ЗаписьXML.УстановитьСтроку(); Соединение.СериализаторXDTO.ЗаписатьXML(ЗаписьXML,ПроцессорКомпоновкиДанных,Тип("ПроцессорКомпоновкиДанных")); ПроцессорВывода.Вывести(ЗначениеИзСтрокиXML(ЗаписьXML.Закрыть())); //ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных,Истина); Сообщить("123"); КонецПроцедуры Процедура ДействияФормыСформировать (Кнопка) СравнитьНаСервере(); КонецПроцедуры //Записать значение в строку хмл Функция ЗначениеВСтрокуXML(Значение) Экспорт ЗаписьXML= Новый ЗаписьXML; ЗаписьXML.УстановитьСтроку(); СериализаторXDTO.ЗаписатьXML(ЗаписьXML,Значение); Возврат ЗаписьXML.Закрыть(); КонецФункции //Записать значение из строку хмл Функция ЗначениеИзСтрокиXML(Строка) Экспорт ЧтениеXML= Новый ЧтениеXML; ЧтениеXML.УстановитьСтроку(Строка); Возврат СериализаторXDTO.ПрочитатьXML(ЧтениеXML); КонецФункции &НаСервере Функция СоздатьСоединение(СтрокаПодключения) Экспорт ПодключаемаяБаза = Новый COMобъект("V83.COMConnector"); Попытка БД = ПодключаемаяБаза.Connect(СтрокаПодключения); Сообщить(БД.Метаданные.ПодробнаяИнформация + " версия: " + БД.Метаданные.Версия); Сообщить("Соединение с базой "+СтрокаПодключения+" установлено."); Возврат БД; Исключение Сообщить("Подключение не установлено! Проверьте параметры!"+" "+ОписаниеОшибки()); Возврат Ложь; КонецПопытки; КонецФункции |
|||
1
Комфортный
12.03.14
✎
23:19
|
в Табличный документ выводит,
Соединение.СериализаторXDTO.ЗаписатьXML(ЗаписьXML,ПроцессорКомпоновкиДанных,Тип("ПроцессорКомпоновкиДанных")); а вот как сие завернуть ? |
|||
2
Комфортный
13.03.14
✎
01:14
|
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ПроцессорВывода.УстановитьОбъект(Табл); ПроцессорВывода.НачатьВывод(); Пока Истина Цикл ЭлементРезультата=ПроцессорКомпоновкиДанных.Следующий(); Если ЭлементРезультата = Неопределено Тогда Прервать; Иначе ЗаписьXML= Соединение.NewObject("ЗаписьXML"); ЗаписьXML.УстановитьСтроку(); Соединение.СериализаторXDTO.ЗаписатьXML(ЗаписьXML,ЭлементРезультата); ПроцессорВывода.ВывестиЭлемент(ЗначениеИзСтрокиXML(ЗаписьXML.Закрыть())); КонецЕсли; КонецЦикла; ПроцессорВывода.ЗакончитьВывод(); вот так прекрасно выгружает... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |