Запись документа XML иерархия

2 Добавил: Артур

Запись документа XML, по иерархии

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

КонецПроцедуры
Назад к списку

Комментарии

FastCode - сервис поиска кода 1С

Уже более 1000 разработчиков используют FastCode в работе!