1. PhoenixAOD 57 27.12.16 09:48 Сейчас в теме

Не могу прочитать данные из XML

Доброго времени суток всем читающим! Друзья, помогите разобраться в такой ситуации. Пишу обработку которая грузит Z отчет из Set Retail 10, так как там выгрузка Zтки идет только сводно, решил сделать загрузку по чекам, все вроде идет нормально, но вот возникла одна проблемка:
Если ЗагрузитьВнешнююКомпоненту("v7plus.dll")<>1 Тогда
		Предупреждение("Внешняя компонента не найдена");
		Возврат;
	КонецЕсли;
	Анализатор=СоздатьОбъект("AddIn.XMLParser");
	Если тзФайлы.КоличествоСтрок() > 0 Тогда
		//Для гИнд = 1 по тзФайлы.КоличествоСтрок() Цикл
		//	СтрокПуть = тзФайлы.ТекущаяСтрока(гИнд);
			Файл=Анализатор.СоздатьДокумент();
			Файл.Загрузить(тзФайлы.Путь);
			ШапкаЧеков=Файл.ВыбратьУзел("purchases");
			кол=ШапкаЧеков.КоличествоПодчиненных();
			Для инд=1 по кол Цикл 
				тзПродажи.НоваяСтрока();
				ШапкаЧека=ШапкаЧеков.ПолучитьПодчиненныйПоНомеру(инд);
				
			        КоличествоЧеков=ШапкаЧека.КоличествоПодчиненных();
				
				ДатаПродажи = СтрЗаменить(лев(ШапкаЧека.ПолучитьАтрибут("operDay"), 10), "-","");
				Год = Лев(ДатаПродажи, 4);
				Месяц = Лев(Прав(ДатаПродажи, 4), 2);
				День = Прав(ДатаПродажи, 2);
				СтрокДата = День +"."+ Месяц + "."+Год;
				тзПродажи.ДатаДок= Дата(ДатаПродажи); 
				тзПродажи.НомерМагазина =  ШапкаЧека.ПолучитьАтрибут("shop");
				тзПродажи.НомерКассы =  ШапкаЧека.ПолучитьАтрибут("shop"); 
				
				Для инд1 = 1 по КоличествоЧеков Цикл
					ТелоЧека =  ШапкаЧека.ПолучитьПодчиненныйПоНомеру(инд1);
					КолСтрок = ТелоЧека.КоличествоПодчиненных(); 
								
					Для СтрокЧек = 1 по КолСтрок Цикл
						СтрокаЧека = ТелоЧека.ПолучитьПодчиненныйПоНомеру(СтрокЧек); 
						тзПродажи.КодТовара = ТелоЧека.ПолучитьАтрибут("goodsCode");
						тзПродажи.Цена = ТелоЧека.ПолучитьАтрибут("costWithDiscount");
						тзПродажи.Количество = ТелоЧека.ПолучитьАтрибут("count");
						тзПродажи.Сумма = ТелоЧека.ПолучитьАтрибут("amount");
						тзПродажи.СтавкаНДС = ТелоЧека.ПолучитьАтрибут("nds");
						тзПродажи.СуммНДС = ТелоЧека.ПолучитьАтрибут("ndsSum");
						тзПродажи.ШК = ТелоЧека.ПолучитьАтрибут("barCode");
					    тзПродажи.ВидОплаты = СтрокаЧека.ПолучитьАтрибут("description");
					КонецЦикла;
				КонецЦикла;
			КонецЦикла;
		//	тзФайлы.УдалитьСтроку(СтрокПуть);
		//КонецЦикла; 
	КонецЕсли;
Показать

в цикле
Для СтрокЧек = 1 по КолСтрок Цикл
заполняется только строка
 тзПродажи.ВидОплаты = СтрокаЧека.ПолучитьАтрибут("description");
все остальные пустые. для ВидОплаты СтрокЧек = 2, тут все правильно, но вот почему по СтрокЧек =1 пусто? Отладчик молчит, выдает пустые значения. Куда копать?
Ответы
Избранное Подписка Сортировка: Древо
2. MadDAD 125 27.12.16 09:55 Сейчас в теме
(1) А в самом файле прочие данные есть?
3. PhoenixAOD 57 27.12.16 10:05 Сейчас в теме
да есть, сам файл приложил
Прикрепленные файлы:
purchases-26-12-2016_10-34-24.xml
4. PhoenixAOD 57 27.12.16 10:15 Сейчас в теме
Блииин, сам затупил))
 тзПродажи.ШК = ТелоЧека.ПолучитьАтрибут("barCode");
                        тзПродажи.ВидОплаты = СтрокаЧека.ПолучитьАтрибут("description");
вот где ошибка была ТелоЧека, а нужно было СтрокаЧека
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Нижний Новгород
зарплата до 120 000 руб.
Полный день

Программист 1С
Волгоград
зарплата от 45 000 руб. до 90 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Консультант-аналитик 1С
Москва
зарплата от 70 000 руб. до 100 000 руб.
Полный день

Программист 1С
Москва
зарплата от 80 000 руб. до 120 000 руб.
Временный (на проект)