Показать сообщение отдельно
Старый 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).