Показать сообщение отдельно
Старый 17.02.2012, 13:30   #11  
Cardagant is offline
Cardagant
Участник
 
317 / 54 (2) ++++
Регистрация: 11.10.2011
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Так?
X++:
    Query q = new Query();
    QueryBuildDataSource qbdsInventTrans;
    QueryBuildDataSource qbdsInventTransPosting;
    QueryBuildDataSource qbdsInventDim;
    QueryBuildDataSource qbdsInventProfile_RU;
    ;


    qbdsInventTrans = q.addDataSource(tablenum(InventTrans));

    qbdsInventTransPosting = qbdsInventTrans.addDataSource(tablenum(InventTransPosting));
    qbdsInventTransPosting.relations(true);
    qbdsInventTransPosting.joinMode(joinMode::InnerJoin);
    qbdsInventTransPosting.fetchMode(QueryFetchMode::One2One);

    qbdsInventDim = qbdsInventTrans.addDataSource(tablenum(InventDim));
    qbdsInventDim.relations(true);
    qbdsInventDim.joinMode(joinMode::InnerJoin);
    qbdsInventDim.fetchMode(QueryFetchMode::One2One);

    qbdsInventProfile_RU = qbdsInventDim.addDataSource(tablenum(InventProfile_RU));
    qbdsInventProfile_RU.relations(true);
    qbdsInventProfile_RU.joinMode(joinMode::InnerJoin);
    qbdsInventProfile_RU.fetchMode(QueryFetchMode::One2One);

    qbdsInventTrans.orderMode(orderMode::GroupBy);
    qbdsInventTransPosting.orderMode(orderMode::GroupBy);
    qbdsInventDim.orderMode(orderMode::GroupBy);
    qbdsInventProfile_RU.orderMode(orderMode::GroupBy);
    qbdsInventTrans.addSelectionField(fieldNum(InventTrans, Qty), SelectionField::Sum);
    qbdsInventTrans.addSortField(fieldNum(InventTrans, ItemId));
    qbdsInventTransPosting.addSortField(fieldNum(InventTransPosting, Account));
    qbdsInventDim.addSortField(fieldNum(InventDim, InventLocationId));
    qbdsInventProfile_RU.addSortField(fieldNum(InventProfile_RU, InventProfileType));

    info(qbdsInventTrans.toString());
Вот это уже интересно. Строит как нужно. Спасибо Вам за Ваш ответ.