0
KrabCore
17.02.16
✎
11:07
|
сильно не пинать, только учусь.
Есть ХДТО объект произвольного уровня вложенности. есть жесткий список свойств, в которых может быть произвольное число вложенных и не очень атрибутов. выглядит это примерно так:
мне необходимо, например, вытащить из "ГрузОт" все атрибуты: Город, Индекс, КодРегион, Улица, НаимОрг. сложность в том что я заранее не знаю какие там могут быть атрибуты, поэтому необходимо вытащить все. сложность еще в том что атрибут "НаимОрг" может быть как у "ГрузОт" так и у "ГрузПолуч. циклом объект не обходится, вытаскивать по имени свойства я не могу (не известен заранее перечень) - собственно вопрос к гуру:
как мне вытащить из объектаХДТО все его вложенные атрибуты?
|
|
6
KrabCore
17.02.16
✎
11:43
|
(4) премного благодарен. оказалось правда что доступ ко вложенным свойствам доступен через данные. пришлось делать через рекурсию
Процедура ПолучитьДанныеДокументаXDTO(Данные)
Свойства = Данные.Свойства();
Для каждого Свойство Из Свойства Цикл
Если Свойство.Форма = ФормаXML.Атрибут Или Свойство.Форма = ФормаXML.Текст Тогда
ЗаписатьДанныеXDTO(Свойство.Имя,Данные.Получить(Свойство.Имя));
ИначеЕсли Свойство.Форма = ФормаXML.Элемент Тогда
ПолучитьДанныеДокументаXDTO(Данные.Получить(Свойство.Имя));
КонецЕсли;
КонецЦикла;
КонецПроцедуры
|
|