AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.12.2010, 14:02   #1  
someOne is offline
someOne
Участник
Аватар для someOne
 
173 / 423 (15) +++++++
Регистрация: 11.12.2008
Адрес: Москва
Функция global::valueFromXMLNode() в Ax2009 работает не корректно
Ax2009 RU5

Для примера кода
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(enum2int(SalesType::Sales)));

    SalesType = global::valueFromXMLNode(Types::Enum, xmlNode).value("value");

    info(strFmt("%1", SalesType));
}
Вне зависимости от входного значения enum функция всегда возвращает "Предложение" (значение enum : 1). (или возвращает ноль)

Дело в ошибке конвертации enum - она умеет возвращать только 0 или 1.

Ошибку решил исправить так:

X++:
static Struct valueFromXMLNode (Types t, XmlNode n)
{
    #define.value('value')
    Struct  retval;
    int     enum; //было  boolean enum
    ;

    //validate arguments befor using them
    if (n == null)
        return null;

    // -->
    if (t == types::ENUM)
    {
        retval = new struct(types::Integer, #value);
    }
    else
    {
        retval = new struct(t, #value);
    }
    // <--
Не уверен в эстетичности такого решения, но так эта функция работает корректно.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AX2009 RU-6 не работает на новой БД Wamr DAX: Администрирование 5 24.06.2014 14:36
Не работает корректировка налога в стандартной AX2009 Pustik DAX: Функционал 17 23.11.2012 15:00
ax2009 cu5: не работает с зарплатой? mazzy DAX: Прочие вопросы 8 02.08.2010 11:28
Функция Any2Str не работает Горбунов Дмитрий DAX: Программирование 11 03.06.2009 15:11
Одна и та же функция в 2х и 3х-уровневой конфигурации: в 2х-работает, в 3х- нет Сергей Щербак DAX: Администрирование 4 07.04.2004 18:25

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:06.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.