Выгрузка Запроса в XML документ, в виде дерева
Процедура ЛюбаяСЗапросом()
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл(ПутьП, "UTF-8"); //Открываем файл для записи, указываем кодировку
ЗаписьXML.ЗаписатьОбъявлениеXML(); // Записываем объявление XML
ЗаписьXML.ЗаписатьНачалоЭлемента("ОстаткиТоваров"); // Начало элемента
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТоварыНаСкладах.Период КАК Период,
| ТоварыНаСкладах.Регистратор КАК Регистратор,
| ТоварыНаСкладах.Номенклатура КАК Номенклатура,
| ТоварыНаСкладах.Количество КАК Количество
|ИЗ
| РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
|ГДЕ
| ТоварыНаСкладах.Период МЕЖДУ &НачПериод И &КонПериод
| И ТоварыНаСкладах.Номенклатура В ИЕРАРХИИ(&Номенклатура)
|ИТОГИ ПО
| Регистратор";
Результат = Запрос.Выполнить();
Дерево = Результат.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
ОбойтиУровеньДерева(Дерево.Строки, ЗаписьXML); //вызов процедуры
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.Закрыть();
КонецПроцедуры
Процедура ОбойтиУровеньДерева(Строки, Запись) // процедура для записи результата запроса с сохранением иерархии в текущий документ xml
Для каждого Строка из Строки Цикл
Если ПустаяСтрока(Строка(Строка.Номенклатура)) Тогда //Итог в запросе по "Регистратору"
Запись.ЗаписатьНачалоЭлемента("Уровень");
Запись.ЗаписатьАтрибут("Период", Строка(Строка.Период));
Запись.ЗаписатьАтрибут("Регистратор", Строка(Строка.Регистратор));
Запись.ЗаписатьАтрибут("Количество", Строка(Строка.Количество));
ОбойтиУровеньДерева(Строка.Строки, Запись);
Запись.ЗаписатьКонецЭлемента();
Иначе
Запись.ЗаписатьНачалоЭлемента("Уровни");
Запись.ЗаписатьАтрибут("Период", Строка(Строка.Период));
Запись.ЗаписатьАтрибут("Регистратор", Строка(Строка.Регистратор));
Запись.ЗаписатьАтрибут("Номенклатура", Строка(Строка.Номенклатура));
Запись.ЗаписатьАтрибут("Количество", Строка(Строка.Количество));
ОбойтиУровеньДерева(Строка.Строки, Запись);
Запись.ЗаписатьКонецЭлемента();
КонецЕсли
КонецЦикла;
КонецПроцедуры
Ограничение, одним видом документов, запроса из регистра
Выгрузка запроса в XML. Выгрузка объекта
ИнтерактивноеИзменениеВыгрузки_СформироватьДеревоЗначений (БСП)
Выгрузка результата запроса в текстовый файл с разделителями
Создание схемы компоновки данных программно