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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.11.2008, 18:09   #1  
Peppi is offline
Peppi
Участник
 
31 / 11 (1) +
Регистрация: 22.10.2008
Вложенный датасорс с QueryRun
Есть такой код:

X++:
static void Test_Query(Args _args)
{
    CustTable            custTable;
    AddressState        addressState;
    Query                query      = new Query();
    QueryRun             qr         = new queryRun(query);
    QueryBuildDataSource qbds       = qr.query().addDataSource(tableNum(CustTable));
    QueryBuildDataSource qbdsJoin;
    int i;
    ;
 
    qbds.addSelectionField(fieldnum(CustTable,RecId),SelectionField::Count);
    qbds.addSortField(fieldnum(CustTable,CashDisc));
    qbds.addSortField(fieldnum(CustTable,CountryRegionId));
    qbds.addSortField(fieldnum(CustTable,State));
    qbds.orderMode(OrderMode::GroupBy);
 
    qbdsJoin = qbds.addDataSource(tablenum(AddressState));
    qbdsJoin.relations(false);
    qbdsJoin.orderMode(OrderMode::OrderBy);
    qbdsJoin.joinMode(JoinMode::OuterJoin);
    qbdsJoin.addlink(fieldnum(CustTable,CountryRegionId),fieldnum(AddressState,CountryRegionId));
    qbdsJoin.addlink(fieldnum(CustTable,State),fieldnum(AddressState,StateId));
    qbdsJoin.addSelectionField(fieldnum(AddressState,Name));
 
   if (qr.prompt())
    {
        i=0;
        while (qr.next())
        {
            custTable = qr.get(tableNum(CustTable));
            addressState = /* ЧТО ЗДЕСЬ ДОЛЖНО БЫТЬ*/ 
            print strfmt("%1 %2 (%3 records)",addressState.Name, custTable.CashDisc ,custTable.RecId);
           i+=custTable.RecId;
         }
 
    }
 
    pause;
}
Как получить значение позиции addressState? Если делать по аналогии
X++:
addressState = qr.get(tableNum(ddressState ));
то получаем пусто, как добраться до значений во вложенном датасорсе?
Или вообще релейшн неправильно построен? То тогда как верно это сделать?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Dynamics AX: QueryRun and Query Objects - Binding operation failed to allocate buffer space Blog bot DAX Blogs 0 03.04.2009 08:05
Простой QueryRun не работает miklenew DAX: Программирование 13 20.01.2009 14:17
OZKA's DAX Journal: Join между временной и постоянной таблицей через QueryRun. Blog bot DAX Blogs 12 14.01.2009 17:34
queryRun в рамках RunBaseBatch Smith DAX: Программирование 6 26.04.2005 11:03
Проблема: подстановка значений по дефолту в диалог QueryRun cyrus DAX: Программирование 4 21.03.2003 09:39

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

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

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