![]() |
#4 |
Участник
|
Не знаю, как в других версиях, но в ax3 kr2 форматы передаваемый в recordFromXMLNode() и получаемый из xRecord.xlm() - несколько различаются. Если вызывать recordFromXMLNode() без передачи табличного буфера в метод, то таблица, содержащаяся в xml не будет определена и будет вызвано прерывание.
По-этому, либо надо будет парсить xml для опраделения таблицы до передачи в метод, либо надо будет знать заранее, какая таблица там будет X++: static void xml2record(Args args) { InventTable InventTable; Common common; xmlDocument xmlDocument = new xmlDocument(); XMLNode xmlNode; ; select InventTable; if (xmlDocument.loadXML(InventTable.xml())) { xmlNode = xmlDocument.documentElement(); if (xmlNode.nodeName() == "Table:Record") { common = new DictTable(tableName2Id(xmlNode.attributes().getNamedItem("name").nodeValue())).makeRecord(); global::recordFromXMLNode(xmlDocument.documentElement(), common); } else common = global::recordFromXMLNode(xmlDocument.documentElement()); } }
__________________
Axapta v.3.0 sp5 kr2 Последний раз редактировалось AndyD; 01.11.2008 в 15:28. |
|
Теги |
ax2009, ax3.0, ax4.0, common, recordfromxmlnode, xml, баг, ошибка, сериализация |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|