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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.01.2004, 19:45   #1  
xshaman is offline
xshaman
Участник
 
36 / 11 (1) +
Регистрация: 17.12.2003
Адрес: Санкт-Петербург
поведение queryRun
Привет, столкнулся с странным поведением квериран в аксапте, может сталкивался уже с этим.
суть такова

строю квериран
PHP код:
    query = new Query();
    
qbds  query.addDataSource(tablenum(InventTrans), "InventTrans");
    
qbr   qbds.addRange(FieldNum(InventTransItemId));
    
qbr   qbds.addRange(FieldNum(InventTransStatusReceipt));
    
qbr.value(int2str(StatusReceipt::Ordered));
    
qbr.status(RangeStatus::Hidden);
    
qbr   qbds.addRange(fieldNum(InventTransTransType));
    
qbr.value(int2str(InventTransType::Purch) + "," int2str(InventTransType::InventTransfer));
    
qbr.status(RangeStatus::Hidden);
    
qbds.addSortField(FieldNum(InventTransDateExpected), SortOrder::Ascending); 
то есть квериран по одному датасоурсу
все окей, он возвращает допустим 10 записей,

добавляю второй дс
PHP код:
    query = new Query();
    
qbds  query.addDataSource(tablenum(InventTrans), "InventTrans");
    
qbr   qbds.addRange(FieldNum(InventTransItemId));
    
qbr   qbds.addRange(FieldNum(InventTransStatusReceipt));
    
qbr.value(int2str(StatusReceipt::Ordered));
    
qbr.status(RangeStatus::Hidden);
    
qbr   qbds.addRange(fieldNum(InventTransTransType));
    
qbr.value(int2str(InventTransType::Purch) + "," int2str(InventTransType::InventTransfer));
    
qbr.status(RangeStatus::Hidden);
    
qbds.addSortField(FieldNum(InventTransDateExpected), SortOrder::Ascending);

    
qbdsInventDim qbds.addDataSource(tableNum(InventDim));
    
qbr qbdsInventDim.addRange(FieldNum(InventDimInventLocationId));
    
qbdsInventDim.addSelectionField(fieldNum(InventDimInventLocationId));
    
qbl qbdsInventDim.addLink(FieldNum(InventTransInventDimId), FieldNum(InventDimInventDimId));
    
qbdsInventDim.fetchMode(0);
    
qbdsInventDim.joinMode(JoinMode::InnerJoin); 
тут квериран возвращает вместо 10 записей (ну или меньше - если джойн накладывать)
несколько миллионов.

Второй вариант запроса переведенный в T-SQL возвращает правильное кол-во записей.
Что это может быть?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
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
Как же все-таки организованиы Query и QueryRun? VIS DAX: Программирование 4 03.07.2003 15:22
Проблема: подстановка значений по дефолту в диалог QueryRun cyrus DAX: Программирование 4 21.03.2003 09:39
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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