|
Запись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) зови попа, пуст серверную святой водой зальет.
Не бывает так.
При таком коде, если узел Склады пустой, значит остатков нет. Если остатки есть и узел все равно пустой, значит либо выполняется не этот код, а какой-то другой, либо остатков все-таки нет
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший