Читаю XML с помощью ФабрикаXDTO ошибка Итератор для значения не определен #774637


#0 by Shur1cIT
Если <Расход> несколько то цикл отрабатывает если один как в примере имеем ошибку "Итератор для значения не определен" В крадце код ЧтениеXML.ОткрытьФайл(Стр.ПолноеИмя);
#1 by AceVi
Может потому что нет открывающего тега Расходы?
#2 by Shur1cIT
есть он на 11 строчке,где отражаеться не важно весь хмл можно в одной строке писать
#3 by ovrfox
Но нет закрывающего тега "Расход"
#4 by ovrfox
Хотя в теории он не нужен, если внутри только атрибуты. Но проверить не помешает
#5 by Beretta
В крадце - у тибя апьекд нетипизирован. Паэтому она ни панимает чта там паследаваетльность или адин илемент
#6 by Shur1cIT
а как указать принудительно что последовательность? или проще проверку писать? если одна запись тогда без цикла читаем если несколько то цикл, если бы мой код акромя меня не вид я бы так и сделал, но перед людьми не удобно го..но код показывать
#7 by Shur1cIT
я на валидность XML проверял ошибок нет
#8 by ovrfox
У тебя "расходы" - один тег, а "Расход" несколько Если хотел обойти все теги расход - цикл делай по тегу "Расходы"
#9 by Shur1cIT
это как?
#10 by Beretta
Описать тип для фабрики XDTO. В типе указать, что элемент встречается один или больше раз. При чтении объекта использовать нужную фабрику с указанием типа того, что читаешь. В результате всегда будешь получишь коллекцию с минимум одним элементом.
#11 by Shur1cIT
вопрос, а как сие сделать? сылки на пример можно? гугл выдаёт очень сложные вещи)))
#12 by Shur1cIT
тоесть необходимо Расход присвоить тип СписокXDTO принудительно, вопрос как это сделать?
#13 by totparen
До освоения пакета ХДТО, делал так:     СтрокиФайлаХДТО = ФайлХДТО.receivingAdvice.lineItems.lineItem;
#14 by Serginio1
Сделай
#15 by Serginio1
14+
#16 by Shur1cIT
да уже так и сделал(
#17 by Fragster
сделать схему, грузить по ней. заодно числа превратятся в числа и даты в даты (если они в правильном формате)
#18 by Serginio1
Значит грузишь не по схеме. Тогда определяется как AnyType и элемент с одним элементом считается как ОбъектXDTO а не СписокXDTO
#19 by Serginio1
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С