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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.03.2010, 11:01   #1  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
оригинальный orig
Есть табличка xTable с один полем Qty
Есть серверный метод для вычисления изменения в поле Qty
X++:
server static Qty diff(xTable _xTable)
{
    return _xTable.Qty - _xTable.orig().Qty;
}
и есть джоб для демонстрации результата
X++:
static void Job_Orig(Args _args)
{
    xTable      xTable;
    int         i;
    Qty         diff;
    ;

    for(i = 1; i <= 5; i++)
    {
        xTable.clear();

        xTable.Qty = i;

        diff = xTable::diff(xTable);

        info(strFmt("%1 %2", diff, xTable.Qty - xTable.orig().Qty));

        xTable.insert();
    }
}
и теперь самое интересное - результат:
0,00 1,00
1,00 2,00
1,00 3,00
1,00 4,00
1,00 5,00

ну ладно, с первой строкой еще можно смириться, но остальные... почему orig возвращает предыдущую запись?

версии
4.0.2501.116
5.0.1500.1313
За это сообщение автора поблагодарили: S.Kuskov (3), _scorp_ (2).
Теги
orig, баг

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Утечка памяти при вызове orig() gb20 DAX: Программирование 3 11.12.2009 12:11
Глюк orig() в 3-tier или я чего-то не понимаю? olesh DAX: Программирование 2 26.07.2007 13:09

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 14:56.