Добрый день форумчане. Не могу разобраться с загрузкой вложенного узла XML документа, как его обойти и добавить в структуру (массив)
Что делаю не так?
ПутьКФайлу = ДиалогОткрытияФайла.ПолноеИмяФайла;
Чтение = Новый ЧтениеXML;
Чтение.ОткрытьФайл(ПутьКФайлу);
МассивВыгрузки = Новый Массив();
ТекущийПуть = "";
Пока Чтение.Прочитать() Цикл
Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента и Чтение.Имя="ПоступлениеДок" Тогда
Структура = Новый Структура;
Структура.Вставить("Номер",Чтение.ЗначениеАтрибута("Номер"));
Структура.Вставить("Дата",Чтение.ЗначениеАтрибута("Дата"));
Структура.Вставить("Склад",Чтение.ЗначениеАтрибута("Склад"));
Структура.Вставить("Контрагент",Чтение.ЗначениеАтрибута("Контрагент"));
Структура.Вставить("КонтрагентИНН",Чтение.ЗначениеАтрибута("КонтрагентИНН"));
Структура.Вставить("Организация",Чтение.ЗначениеАтрибута("Организация"));
Структура.Вставить("ДоговорКонтрагента",Чтение.ЗначениеАтрибута("ДоговорКонтрагента"));
Структура.Вставить("Ответственный",Чтение.ЗначениеАтрибута("Ответственный"));
Структура.Вставить("НомерВходящегоДокумента",Чтение.ЗначениеАтрибута("НомерВходящегоДокумента"));
Структура.Вставить("ДатаВходящегоДокумента",Чтение.ЗначениеАтрибута("ДатаВходящегоДокумента"));
Структура.Вставить("СчетУчетаРасчетовСКонтрагентом",Чтение.ЗначениеАтрибута("СчетУчетаРасчетовСКонтрагентом"));
Структура.Вставить("СуммаДокумента",Чтение.ЗначениеАтрибута("СуммаДокумента"));
Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента И Чтение.Имя = "ТЧТовары" Тогда
МассивТЧ = Новый Массив();
Пока Чтение.ПрочитатьАтрибут() Цикл
СтруктураТЧ = Новый Структура;
СтруктураТЧ.Вставить("Номенклатура",Чтение.ЗначениеАтрибута("Номенклатура"));
СтруктураТЧ.Вставить("ЕдиницаИзмерения",Чтение.ЗначениеАтрибута("ЕдиницаИзмерения"));
СтруктураТЧ.Вставить("Коэффициент",Чтение.ЗначениеАтрибута("Коэффициент"));
СтруктураТЧ.Вставить("Количество",Чтение.ЗначениеАтрибута("Количество"));
СтруктураТЧ.Вставить("Цена",Чтение.ЗначениеАтрибута("Цена"));
СтруктураТЧ.Вставить("Сумма",Чтение.ЗначениеАтрибута("Сумма"));
СтруктураТЧ.Вставить("СтавкаНДС",Чтение.ЗначениеАтрибута("СтавкаНДС"));
СтруктураТЧ.Вставить("СуммаНДС",Чтение.ЗначениеАтрибута("СуммаНДС"));
СтруктураТЧ.Вставить("ОтражениеВУСН",Чтение.ЗначениеАтрибута("ОтражениеВУСН"));
МассивТЧ.Добавить(СтруктураТЧ);
КонецЦикла;
Структура.Вставить("Товары",МассивТЧ);
КонецЕсли;
Иначе
Продолжить;
КонецЕсли;
МассивВыгрузки.Добавить(Структура);
КонецЦикла;
(1) так вы чтение ТЧ вынесите из элемента Поступление,
и еще как совет, включите отладчик!!!! под ним пройдите всю загрузку, сразу станет ясно где косяк и что поправить.
цикл
Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента и Чтение.Имя="ПоступлениеДок" Тогда
//реквизиты документа
КонецЕсли;
Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента И Чтение.Имя = "ТЧТовары" Тогда
цикл
//чтение ТЧ
конеццикла
КонецЕсли;