Работа с фабриками XDTO

1. maxster545 19.05.17 12:41 Сейчас в теме
ЗаказТип=ФабрикаXDTO.Тип("http://www.ggg.ru","OutletOrders");
	
	ЧтениеXML = Новый ЧтениеXML;
	ЧтениеXML.ОткрытьФайл(ИмяФайла);
	
	ЗаказXDTO=ФабрикаXDTO.ПрочитатьXML(ЧтениеXML, ЗаказТип);
	
	ЧтениеXML.Закрыть();
	
	//заполним шапку заказов
	Заказ = ЗаказXDTO.OutletOrders.OutletOrder;
	
	Для Каждого Строка Из Заказ Цикл 
			
		Идентификатор = "" + Формат(Строка.OrderNo, "ЧГ="); 
        КонецЦикла

Показать


Выдаёт: Итератор для значения не определён, хотя с такой же код работает с другим xml, может ли проблема в Xml быть?
Внизу xml в котором выкидывает ошибку

<?xml version="1.0" encoding="UTF-8"?>

-<ROOT>


-<OutletOrders>


-<OutletOrder Cust_Id="" Postpay="0" PFormType="1" PCOMP_CODE="" PayDate="" DC_PAYER="0" DC_DELIVER="0" OLDISTSHAR="0.000" OLDISTCENT="" DC_ALLOW="0" Comments="" TaxFactureNo="0" IsReturn="0" W_ExternalCode="" VAT_Sum="" VATCalcMode="" ProxyDate="" ProxyNumber="" ProxySeries="" TransportCost="" DTML="" Op_Code="" DOUBLED="0" OlDeliveryAddress="" Merch_id="0" Discount="0.00" OLOrderAmount="0" ResponsiblePerson="-" PayForm_id="0" OrderExecutionDate="0" OLOrderDate="0" OrderNo="0" OlCard_id="0" OL_CODE="0" OL_ID="0">


-<OutletOrderDetails>

<OutletOrderDetail Cust_Id="0" VAT="0" BASEPRICE="0" RDISCOUNT="0.00" ISRETURN="0" QTY="0" PRICE="0" LOCALCODE="0" CODE="0"/>

<OutletOrderDetail Cust_Id="0" VAT="0" BASEPRICE="0" RDISCOUNT="0.00" ISRETURN="0" QTY="0" PRICE="0" LOCALCODE="0" CODE="0"/>

</OutletOrderDetails>

</OutletOrder>

</OutletOrders>

</ROOT>
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Boneman 298 19.05.17 12:52 Сейчас в теме
(1) отладчиком встань, и посмотри что у тебя в заказе получается.
С фабриками, там не всегда коллекция. Вполне может быть, что если один элемент, то он не как коллекция с одним элементом, а просто элемент.
3. Turn123 18 19.05.17 13:10 Сейчас в теме
Если там один элемент то будет ОбъектXDTO. Если несколько то СписокXDTO. Только когда список можно обходить в цикле, если объект то сразу. Просто проверяй тип, а код из цикла вынеси в отдельный метод
user2018771; maxster545; starik-2005; +3 Ответить
5. maxster545 19.05.17 15:56 Сейчас в теме
4. ImHunter 315 19.05.17 13:21 Сейчас в теме
Лучше по индексу делать обращение к элементу списка. В СП и не говорится, что для СписокXDTO есть итератор.
Где-то на ИС читал, что вроде бы итераторы когда-то и работают. Но это не документировано. Стало быть, не может быть надежно использовано.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот