![]() |
#2 |
Участник
|
По-моему, не нужно ничего переделывать в методе valueFromXMLNode.
Вот рабочий код вашей джобы, которая в Axapta 3 "ведет" себя так же, как вы описали относительно AX 2009: X++: static void test(Args _args) { xmlNode xmlNode; xmlDocument xmlDocument; struct content; SalesType SalesType; ; xmlDocument = new xmlDocument(); xmlNode = xmlDocument.createNode(xmlNodeType::ELEMENT, "test", ""); xmlNode.text(int2str(SalesType::Sales)); SalesType = global::valueFromXMLNode(Types::Integer, xmlNode).value("value"); info(strFmt("%1", SalesType)); } 1)enum2int(SalesType::Sales) - метод enum2int применять необязательно, в 3-ей аксапте я его вовсе не нашел. По идее сам элемент enum'а - это уже целое число. 2) valueFromXMLNode(Types::Enum, xmlNode).value("value") - значение enum'a, как уже говорилось - целое число, поэтому в параметре метода valueFromXMLNode нужно указать Types::Integer вместо Types::Enum.
__________________
С уважением, Александр. Последний раз редактировалось samolalex; 09.12.2010 в 15:09. |
|