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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.01.2009, 13:05   #1  
Blog bot is offline
Blog bot
Участник
 
25,617 / 848 (80) +++++++
Регистрация: 28.10.2006
OZKA's DAX Journal: Join между временной и постоянной таблицей через QueryRun.
Источник: http://ozka-lemming.blogspot.com/200...-queryrun.html
==============

Однажды, отлаживая нетривиальный код, наткнулся на subj. Не зная про эту «фичу», я долго удивлялся почему запрос возвращает такой странный набор данных!?! Ниже приведен простенький Job-ик, который демонстрирует существование этой возможности в DAX. В иерархии запроса временная таблица должна быть первым источником данных.



X++:
static void JoinTmpTablesOnQuery(Args _args)
{
    LedgerTrans             ledgerTrans;
    LedgerTable             ledgerTableTmp;

    int                     i;
    int                     transCnt   = 20;

    Query                   query      = new Query();
    
    QueryBuildDataSource    qbdsTable  = query.addDataSource(tableNum(LedgerTable));
    QueryBuildDataSource    qbds2Trans = qbdsTable.addDataSource(tableNum(LedgerTrans));


    QueryRun                queryRun;
    ;

    qbds2Trans.relations(true);

    ledgerTableTmp.setTmp();
    
    ledgerTableTmp.data(LedgerTable::find("02.010"));
    ledgerTableTmp.insert();
    
    ledgerTableTmp.data(LedgerTable::find("01.030"));
    ledgerTableTmp.insert();
    
    queryRun = new QueryRun(query);

    queryRun.setCursor(ledgerTableTmp, 1);
    
    i = 0;

    while (queryRun.next())
    {
        ledgerTableTmp = queryRun.getNo(1);
        ledgerTrans    = queryRun.getNo(2);

        info(strfmt("AccountNum %1 , AmountCur %2 , (tmpRecId %3 , regRecId %4)",
                     ledgerTableTmp.AccountNum,
                     ledgerTrans.AmountCur,
                     ledgerTableTmp.RecId,
                     ledgerTrans.RecId));
 
        i++;
        
        if (transCnt && i == transCnt)
            break;
    }

}

Источник: http://ozka-lemming.blogspot.com/200...-queryrun.html
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
OZKA's DAX Journal: Многоколоночные отчеты средствами Dynamics AX. Blog bot DAX Blogs 0 27.08.2008 13:05
Table Scan через QueryRun maximka DAX: Программирование 8 05.10.2007 10:46
Заполнение DataSource из постоянной и временной таблиц m_ax DAX: Программирование 2 21.06.2007 13:08
Динамическая связь Query с временной таблицей rumpleteazer DAX: Программирование 1 30.01.2003 01:49
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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