Показать сообщение отдельно
Старый 16.02.2012, 08:17   #3  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,443 / 1777 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Ага. Подглядев как там на этой самой форме "Чистых потребностей" расчитывается поле "Накоплено" мы для себя сделали запрос для отображения расчётных остатков. Там запрос не сложный получается. Сумма по полю Qty таблицы ReqTrans по всем строкам кроме строк с типом "Резервный запас".

X++:
    Query q = new Query(queryrun.query());
    queryrun qr;
    QueryBuildDataSource qbds;
    ;

    qbds = q.dataSourceTable(tableNum(ReqTrans));

    qbds.addSelectionField(fieldNum(ReqTrans, Qty), SelectionField::Sum);
    qbds.addSelectionField(fieldNum(ReqTrans, RecId), SelectionField::Count);
    qbds.addSortField(fieldNum(ReqTrans, ReqPlanId));
    qbds.addSortField(fieldNum(ReqTrans, ItemId));
    qbds.addSortField(fieldNum(ReqTrans, CovInventDimId));
    qbds.orderMode(orderMode::GroupBy);

    qbds.addRange(fieldNum(ReqTrans, ReqPlanId)).value(queryvalue(PlanId));
    qbds.addRange(fieldNum(ReqTrans, ReqDate)).value(strfmt("..%1", transDate));
    qbds.addRange(fieldNum(ReqTrans, RefType)).value(sysquery::valueNot(ReqRefType::SafetyInvent));

    qr = new queryrun(q);
За это сообщение автора поблагодарили: gl00mie (3), DSPIC (5).