Запись документа 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.Закрыть();
КонецПроцедуры
Выгрузка Запроса в XML документ, в виде дерева(В Виде иерархии)
Проведение документа с проверкой заполнения
ОбновитьСоставыГруппПользователей (БСП)
Функция возвращает иерархию типов свойств для ТипОбъектаXDTO