Показать сообщение отдельно
Старый 25.02.2010, 16:45   #9  
Rimantas is offline
Rimantas
Участник
 
304 / 16 (1) ++
Регистрация: 30.04.2004
Адрес: Utena , Lithuania
Цитата:
Сообщение от lev Посмотреть сообщение
просто немного не правильный ситаксис.
во первых QueryRun надо инициализировать после того как собрали Query...
предполагаю что Ваш запрос должен выглядеть так (это пример):
X++:
Query                   query;
    QueryBuildDataSource    qbdsInventSum, qbdsInventTrans;
    QueryBuildRange         qbr;
    QueryRun                qr;
    InventLocationId        cInvLoc;
    TransDate               dBgn;
    ;

    query = element.Query();

    qbdsInventSum = query.dataSourceTable(tableNum(InventSum));
    qbr = qbdsInventSum.addRange(fieldNum(InventSum, InventLocationId));
    qbr.value(QueryValue(cInvLoc));

    qbdsInventTrans = qbdsInventSum.addDataSource(tableNum(InventTrans));
    qbdsInventTrans.addLink(fieldNum(InventSum, ItemId), fieldNum(InventTrans, ItemId));
    qbdsInventTrans.addLink(fieldNum(InventSum, InventDimId), fieldNum(InventTrans, InventDimId));
    qbdsInventTrans.joinMode(JoinMode::ExistsJoin);
    qbdsInventTrans.firstOnly(true);

    qbr = qbdsInventTrans.addRange(fieldNum(InventTrans, DatePhysical));
    qbr.value(SysQuery::range(dBgn, dateMax()));

    qr = new QueryRun(query);
Лев , БОЛЬШОЕ СПАСИБО ! Всё работает . Просто я забыл поставит после next :
InventSum = qr.get( tableNum( InventSum ) ); ... :-)