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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.01.2009, 15:32   #1  
rkorchagin is offline
rkorchagin
Участник
 
81 / 69 (3) ++++
Регистрация: 26.09.2006
Ну как бы решил....
надо получается на каждом датасорсе что на одном уровне ставить
fetchMode(QueryFetchMode::One2One);

только потом сделать Map и проверять уже выведен ли vendInvoiceJour или нет - а то так получается что печатается столько раз сколько VendTrans (vendInvoiceTrans)


X++:
//TE-rko
static void testDatasource(Args _args)
{


    Query   query = new query();
    QueryBuildDataSource qbds, qbds1, qbds2;
    querybuildrange qbr;
    QueryRun qr;
    VendInvoiceJour VendInvoiceJour;
    ;

    qbds = query.addDataSource(tablenum(VendInvoiceJour));

    qbds1 = qbds.addDataSource(tablenum(VendTrans));
    qbds1.relations(true);
    qbds1.fetchMode(QueryFetchMode::One2One);

    qbr = qbds1.addRange(fieldnum(VendTrans,Recid));
//    qbr.value(strfmt("%1",1));//-2082064522));



    qbds2 = qbds.addDataSource(tablenum(VendInvoiceTrans));
    qbds2.relations(true);
    qbds2.fetchMode(QueryFetchMode::One2One);

    qbr = qbds2.addRange(fieldnum(VendInvoiceTrans,InvoiceId));

  //  qbr.value("TI00005951");
  qbr.value("RV300654228");

     qr = new QueryRun(query);
     while (qr.next())
     {
        if (qr.changed(tablenum(VendInvoiceJour)))
        {
            VendInvoiceJour = qr.get(tablenum(VendInvoiceJour));
            info(VendInvoiceJour.InvoiceId);
        }

     
     }




}
Цитата:
Поэтому я не совсем понимаю, где у вас на данный момент OR и откуда вы хотите его убрать?
OR по умолчанию в аксапте между датасорсами на одном уровне. А когда ставишь fetchMode(QueryFetchMode::One2One); на каждом датасоурсе - то получается именно AND.
Старый 15.01.2009, 15:46   #2  
coolibin is offline
coolibin
Участник
 
264 / 68 (3) ++++
Регистрация: 07.04.2005
Цитата:
Сообщение от rkorchagin Посмотреть сообщение
OR по умолчанию в аксапте между датасорсами на одном уровне. А когда ставишь fetchMode(QueryFetchMode::One2One); на каждом датасоурсе - то получается именно AND.
Можно для тех, кто в танке, как я, помедленнее и поподробнее? Что такое OR и AND относительно датасорсов?
Старый 15.01.2009, 15:46   #3  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от rkorchagin Посмотреть сообщение
OR по умолчанию в аксапте между датасорсами на одном уровне. А когда ставишь fetchMode(QueryFetchMode::One2One); на каждом датасоурсе - то получается именно AND.
У вас какая-то интересная своя терминология, мне не совсем понятная...
Что вы вообще подразумеваете под понятием "OR между датасорсами"?

Повторюсь, попробуйте посмотреть запрос который уходит к БД в обоих случаях (с fetchMode и без), или просто info(qbds.toString());. И вы увидите что в исходном варианте (без fetchMode) вообще не происходит джоина никакого, идёт просто
X++:
SELECT * FROM VendInvoiceJour
а с fetchMode действительно получается нормальный джоин всех трёх таблиц. (вы это называете "AND между датасорсами"?)
__________________
Zhirenkov Vitaly
Старый 15.01.2009, 16:00   #4  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от coolibin Посмотреть сообщение
Что такое OR и AND относительно датасорсов?
Цитата:
Сообщение от ZVV Посмотреть сообщение
Что вы вообще подразумеваете под понятием "OR между датасорсами"?
+1
Тоже с удовольствием послушаю новое (или пропущенное?) в логическо-реляционном образовании
Теги
datasource, query, несвязанные датасорсы, датасорс (datasource)

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Пересчет между двумя единицами измерения на уровне партии Андре DAX: Функционал 15 22.10.2013 00:26
Как в динамическом запросе использовать исловие OR между двумя полями? yooshi DAX: Программирование 12 07.08.2009 16:34
Включение и отключение relation между двумя таблицами? Hidden DAX: Программирование 2 08.02.2007 17:20
дизайн отчета (как сделать его с разделителями между столбцами?) puz DAX: Программирование 7 02.09.2003 08:50
Cвязь данных между двумя формами Artild DAX: Программирование 11 24.06.2003 10:45
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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