Hello Guys!
I am new in Microsoft Dynamics D365 Development and need your help regarding expression in query ranges.
I am trying to develop query into X++ query as follows but it did not work for me.
Query q = new Query();
QueryRun qr;
QueryBuildDataSource qbdsinventtrans, qbdsStockreport;
QueryBuildRange qbr, qbr1;
InventTrans inventTrans;
stockReport Stockreport;
// Add data source//
qbdsinventtrans=q.addDataSource(tableNum(inventTrans));
//Field Selection//
qbdsinventtrans.addSelectionField(fieldNum(InventTrans , ItemId)) ;
qbdsinventtrans.addSelectionField(fieldNum(InventTrans , inventDimId)) ;
qbdsinventtrans.addSelectionField(fieldNum(InventTrans , DatePhysical)) ;
qbdsinventtrans.addSelectionField(fieldNum(InventTrans,CostAmountAdjustment),SelectionField::Sum);
qbdsinventtrans.addSelectionField(fieldNum(InventTrans, Qty),SelectionField::Sum);
qbdsinventtrans.addSelectionField(fieldNum(InventTrans, CostAmountPhysical),selectionField::Sum);
//Add Group by field//
qbdsinventtrans.addGroupByField(fieldNum(InventTrans, ItemId)) ;
qbdsinventtrans.addGroupByField(fieldNum(InventTrans,InventDimId)) ;
qbdsinventtrans.addGroupByField(fieldNum(InventTrans,DatePhysical)) ;
//Add Range//
qbdsinventtrans.addRange(fieldNum(InventTrans,DatePhysical)).value(queryValue(Global::dateNull())) ;
qbdsinventtrans.addRange(fieldNum(inventtrans, Updatestatus)).value(queryValue(Updatestatus::No)) ;
qbdsinventtrans.addRange(fieldNum(InventTrans,DataAreaId)).value(queryValue(curExt())) ;
//Add data other Source
qbdsStockreport=qbdsinventtrans.addDataSource(tableNum(stockReport));
qbdsStockreport.relations(true) ;
qbdsStockreport.joinMode(JoinMode::InnerJoin);
qbdsStockreport.fetchMode(QueryFetchMode::One2One);
//qbdsStockreport.addLink(fieldNum(InventTrans,ItemId), fieldNum(stockReport,ItemId));
//qbdsStockreport.addLink(fieldNum(InventTrans,InventDimId), fieldNum(stockReport,InventDimId));
//Add Range
qbr=qbdsStockreport.addRange(fieldNum(stockReport,TransDate));
qbr1=qbdsinventtrans.addRange(fieldNum(InventTrans,DatePhysical));
Here actualy i want like this
/Where inventTrans.DatePhysical < StockReport.TransDate./
To acheive above expression i am trying as below but it did not work for me. Kindly help
qbr=qbdsStockreport.addRange(fieldNum(stockReport,TransDate));
qbr1=qbdsinventtrans.addRange(fieldNum(InventTrans,DatePhysical));
qbr.value(strFmt('(TransDate > %1)', InventTrans.Datephysical));
qr = new QueryRun(q) ;
while (qr.next())