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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.02.2006, 18:29   #1  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2494 (89) +++++++++
Регистрация: 20.08.2005
Thumbs up
Во-первых,
X++:
qbds = query.addDataSource(tableNum(InventJournalTrans),"InventJournalTrans");
Во-вторых, JournalId надо тоже добавлять в расширенный диапазон, иначе соединение получается ч/з OR, а не AND

В-третьих, слегка извращенно это получится так
X++:
qbrQty.value("((inventJournalTrans.JournalId == \"" + _inventJournalTable.JournalId + "\") &&  
(inventJournalTrans.Qty - inventJournalTrans.Qty < inventJournalTrans.Qty + inventJournalTrans.QtyRegistered))");
PS. Select можно построить по этому-же принципу
X++:
 while select inventJournalTrans
        where   inventJournalTrans.JournalId == _inventJournalTable.JournalId &&
                inventJournalTrans.Qty - inventJournalTrans.Qty       <   
                inventJournalTrans.Qty + inventJournalTrans.QtyRegistered
__________________
Axapta v.3.0 sp5 kr2

Последний раз редактировалось AndyD; 08.02.2006 в 18:35.
За это сообщение автора поблагодарили: DreamCreator (2).
Старый 09.02.2006, 10:20   #2  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Цитата:
Сообщение от AndyD
Во-вторых, JournalId надо тоже добавлять в расширенный диапазон, иначе соединение получается ч/з OR, а не AND
..
PS. Select можно построить по этому-же принципу
X++:
 while select inventJournalTrans
        where   inventJournalTrans.JournalId == _inventJournalTable.JournalId &&
                inventJournalTrans.Qty - inventJournalTrans.Qty       <   
                inventJournalTrans.Qty + inventJournalTrans.QtyRegistered
С циклом получилось! Написал так:

PHP код:
 while select inventJournalTrans
        where   inventJournalTrans
.JournalId == _inventJournalTable.JournalId &&
                
inventJournalTrans.Qty inventJournalTrans.QtyRegistered 
Через query не получилось -- Ошибка расширенного диапазона запроса: Синтаксическая ошибка рядом с 52.

PHP код:
static void testMatchingFieldsByQuery(Args _args)
{
    
Query                   query = new Query();
    
QueryBuildDataSource    qbds;
    
QueryBuildRange         qbrQty;
    
QueryRun                queryRun;
    
InventJournalTrans      inventJournalTrans;
    
InventJournalTable      inventJournalTable InventJournalTable::find('075221_090');
    ;

    
qbds query.addDataSource(tableNum(InventJournalTrans),"InventJournalTrans");
    
qbds.addRange(fieldNum(InventJournalTrans,JournalId)).value(inventJournalTable.JournalId);
    
qbds.addRange(fieldNum(InventJournalTrans,IncompleteDelivery)).value(queryValue(NoYes::No));
    
qbrQty qbds.addRange(fieldNum(InventJournalTrans,JournalId));
    
qbrQty.value("((inventJournalTrans.JournalId == \"" inventJournalTable.JournalId + @"\) &&
        (inventJournalTrans.Qty - inventJournalTrans.Qty < inventJournalTrans.Qty + inventJournalTrans.QtyRegistered))"
);

    
queryRun = new queryRun(query);

    while (
queryRun.next())
    {
        
inventJournalTrans queryRun.get(tableNum(InventJournalTrans));
        
info(inventJournalTrans.ItemId);
    }

Немного переписал -- но без этого не компилировалось, думаю идею сохранил.
Теги
query, запрос (query)

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Изменение идентификаторов(id) полей Dron AKA andy DAX: База знаний и проекты 30 17.06.2009 10:11
выбор полей в запросе (не все поля видны) mdconsult DAX: Программирование 12 02.02.2009 09:21
Как получить значения полей (modifiedDate, modifiedTime, modifiedBy и др.) при работе с объектами AOT типа Map? LRA DAX: База знаний и проекты 15 02.04.2007 13:37
Сравнение двух полей в Query Lucky13 DAX: Программирование 3 17.08.2005 11:42
очистка полей. простой вопрос Антон Солдатов DAX: Программирование 4 04.04.2003 10:28

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

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

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