Что-то функция у меня неправильно отрабатывает. Может, я чего не так делаю?
X++:
Counter ii;
QueryRun queryRun;
Query Query;
QueryBuildDataSource InvTrans,Inv,Dim;
;
query=new query();
InvTrans=query.addDataSource(tablenum(InventTrans));
Dim=InvTrans.addDataSource(tablenum(InventDim));
Dim.relations(true);
Inv=InvTrans.addDataSource(tablenum(InventTable));
inv.addLink(fieldnum(inventtrans,itemid),fieldnum(InventTable,ItemId));
inv.joinMode(JoinMode::ExistsJoin);
InvTrans.addRange(fieldnum(InventTrans,ItemId)).value(ItemId);
Dim.addRange(fieldnum(InventDim,InventLocationId)).value(LocId);
Inv.addRange(fieldnum(InventTable,ModelGroupId)).value(MGId);
queryRun = new QueryRun(query);
if (!queryRun.prompt())
return;
[B] ii=SysQuery::countTotal(queryrun);[/B]
он возвращает значительно больше, чем есть на самом деле (на несколько порядков)