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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.02.2011, 08:17   #1  
AvrDen is offline
AvrDen
Участник
 
134 / 26 (1) +++
Регистрация: 04.08.2005
Адрес: Усть-Каменогорск
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Интересно было бы создать тестовый проектик
Попробуйте запустить следующий job(recId только свой подставьте ) и посмотреть в Журнале трассировки операторов SQL план запроса
X++:
static void Job17(Args _args)
{
    InventJournalTrans  inventJournaltrans;
    InventDim           inventDim;
    InventTable         inventTable;
    InventItemBarcode   inventItemBarcode;
    ;
    ttsbegin;
    select forupdate inventJournaltrans
        where inventJournaltrans.RecId == 5637149414
        join inventDim
        where inventDim.inventDimId == inventJournaltrans.InventDimId
        join inventTable
        where inventTable.ItemId == inventJournaltrans.ItemId;

        inventJournaltrans.CostAmount = 8933.72;
        inventJournaltrans.update();
    ttscommit;
}
У меня получился следующий план запроса:

UPDATE INVENTJOURNALTRANS SET COSTAMOUNT=8.93372E3,RECVERSION=702523288 WHERE (((DATAAREAID=N'mhv') AND (RECID=5637149414)) AND (RECVERSION=902287041))

Как видно CostAmount представлен в экспоненциальном виде и SQL воспринимает его как 8933.719999999999

Удалив из job таблицу Inventtable

X++:
static void Job17(Args _args)
{
    InventJournalTrans  inventJournaltrans;
    InventDim           inventDim;
    InventTable         inventTable;
    InventItemBarcode   inventItemBarcode;
    ;
    ttsbegin;
    select forupdate inventJournaltrans
        where inventJournaltrans.RecId == 5637149414
        join inventDim
        where inventDim.inventDimId == inventJournaltrans.InventDimId;

        inventJournaltrans.CostAmount = 8933.72;
        inventJournaltrans.update();
    ttscommit;
}
получим план запроса

UPDATE INVENTJOURNALTRANS SET COSTAMOUNT=?,RECVERSION=? WHERE (((DATAAREAID=?) AND (RECID=?)) AND (RECVERSION=?))
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Округление при расчете НДФЛ barry allen DAX: Программирование 1 20.12.2010 15:15
Расчеты с персоналом // Виды зарплаты // Округление farlander DAX: Функционал 0 29.04.2009 09:54
Неверное округление физ. Обновляемого количества товара fur-lined DAX: Функционал 14 10.11.2006 11:02
округление в OLAP xconsul DAX: Администрирование 2 19.11.2005 14:33
Тип проводки - округление накладной по закупке Ann DAX: Функционал 0 23.06.2004 14:05
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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