|
ЗаписьXML. Часть узлов пустые... | ☑ | ||
---|---|---|---|---|
0
poligraf
28.10.15
✎
08:18
|
Правлю типовой обмен с сайтом в УТ11.
Так надо, ибо CMS не Битрикс и модуль от битрикса не разумеет... Вот такая конструкция добавляется. <Склады> <Склад> <ИД>dd792115-131c-11e5-981a-0cc47a068a52</ИД> <Количество>1</Количество> </Склад> </Склады> У некоторых позиций в <Склады> ничего не пишется в итоговом файле, хотя отладчик показывает, что вложенные узлы записываются... |
|||
1
Лефмихалыч
28.10.15
✎
08:20
|
>ничего не пишется ... хотя отладчик показывает
Кэш продувал? |
|||
2
poligraf
28.10.15
✎
08:33
|
(1) на кэш-то не подумал... Но не помогло:)
|
|||
3
Лефмихалыч
28.10.15
✎
08:38
|
если отладчик показывает запись, а записи нет, значит ты отладчиком остановился не там
|
|||
4
poligraf
28.10.15
✎
10:32
|
(3) да вот нифига...
Склады - это узлы в номенклатуре. какие-то узлы заполнены, а какие-то нет... Хотя отладчик по всем проходит, и код только в одном месте, что формирует. |
|||
5
Гёдза
28.10.15
✎
10:32
|
кривой код?
|
|||
6
Лефмихалыч
28.10.15
✎
10:35
|
(4) придется-таки код читать, да? :)
|
|||
7
poligraf
28.10.15
✎
10:57
|
(6) код вообще простой...
ОбъектXMLПакетПредложений.ЗаписатьНачалоЭлемента("Склады"); СтрокиОстатков = ТаблицаОстатков.НайтиСтроки(СтруктураПоиска); Для Каждого СтрокаОстатка Из СтрокиОстатков Цикл ОбъектXMLПакетПредложений.ЗаписатьНачалоЭлемента("Склад"); ИДСклада = Строка(СтрокаОстатка.Склад.УникальныйИдентификатор()); ЗаписатьТекстовыйУзел(ОбъектXMLПакетПредложений, ОписаниеОшибокXML, "ИД", ИДСклада); ЗаписатьТекстовыйУзел(ОбъектXMLПакетПредложений, ОписаниеОшибокXML, "Количество", ФорматЗначенияДляXML(СтрокаОстатка.Остаток, Параметры.ФорматКоличества)); ОбъектXMLПакетПредложений.ЗаписатьКонецЭлемента(); КонецЦикла; ОбъектXMLПакетПредложений.ЗаписатьКонецЭлемента(); |
|||
8
Гёдза
28.10.15
✎
10:58
|
Если нет остатков То будет пустой тег <Склады/>
|
|||
9
poligraf
28.10.15
✎
10:58
|
ЗаписатьТекстовыйУзел() тоже простая.
ОбъектXML.ЗаписатьНачалоЭлемента(Имя); ОбъектXML.ЗаписатьТекст(СтрокаЗаписи); ОбъектXML.ЗаписатьКонецЭлемента(); |
|||
10
poligraf
28.10.15
✎
10:58
|
(8) я знаю.
Но отладчик проходит по циклу, и в XML таки пишется информация. Но что пишется, я не могу, к сожалению посмотреть в процессе, только после записи файла |
|||
11
Лефмихалыч
28.10.15
✎
13:53
|
(10) зови попа, пуст серверную святой водой зальет.
Не бывает так. При таком коде, если узел Склады пустой, значит остатков нет. Если остатки есть и узел все равно пустой, значит либо выполняется не этот код, а какой-то другой, либо остатков все-таки нет |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |