0
LLirikus
29.07.22
✎
17:24
|
Добрый день.
Подскажите, пожалуйста, по решению задачи.(Заранее прошу прощение за глупый вопрос, совсем недавно изучаю 1С).
Необходимо выгрузить все документы из 1 с в XML.
1. Для этого перебрал реквизиты метаданных.
Функция ВыгрузитьСервер()
ИмяФайлаXML = КаталогВременныхФайлов() + "ДанныеВыгрузки.xml"; ИмяФайлаXML = КаталогВременныхФайлов() + "ДанныеВыгрузки.xml";
ЗаписьXML = Новый ЗаписьXML();
ЗаписьXML.ОткрытьФайл(ИмяФайлаXML);
ЗаписьXML.ЗаписатьНачалоЭлемента("Root");
мдДокументы = Метаданные.Документы;
Для каждого элМД Из мдДокументы Цикл
рекМД = элМД.СтандартныеРеквизиты;
Для каждого элРекв Из рекМД Цикл
КонецЦикла;
рекМД = элМД.Реквизиты;
Для каждого элРекв Из рекМД Цикл
КонецЦикла;
рекМД = элМД.ТабличныеЧасти;
Для каждого элРекв Из рекМД Цикл
рекТЧ = элРекв.Реквизиты;
Для каждого элРеквТч Из рекТЧ Цикл
КонецЦикла;
КонецЦикла;
КонецЦикла;
//////////////////////////////////////////////////////////////////
Следующий шаг, нужно объединить полученные данные в один запрос, и сделать выборку.
Как объединить?
///////////////////////////////////////////////////////////////////
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
ЗаписьXML = Новый ЗаписьXML();
ЗаписьXML.ОткрытьФайл(ИмяФайлаXML);
ЗаписьXML.ЗаписатьНачалоЭлемента("Root");
Пока Выборка.Следующий() Цикл
ЗаписьXML.ЗаписатьНачалоЭлемента("Документ");
ВыгрузитьОбъект(Результат, Выборка, ЗаписьXML);
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецЦикла;
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.Закрыть();
Возврат ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ИмяФайлаXML));
КонецФункции
|
|
2
LLirikus
31.07.22
✎
14:35
|
(1), Спасибо за ответ. Я бы с радостью, но нужно именно через перебор реквизитов метаданных,такая задача (((
|
|