Report data changes based on Enum selection in report parameters in Ax2012 x++
public void processReport()
{
Query query = new Query();
QueryBuildDataSource qbdspurch,qbdsline,qbdscategory;
QueryBuildRange qbr;
QueryRun qr;
PurchTable purchTable;
PurchLine purchLine;
EcoResCategory ecorescategory;
contract = this.parmDataContract() as Wre_PurchPRCategoryContract;
fromdate = contract.parmfromdate();
todate = contract.parmtodate();
reportType = contract.parmReportType();
category = contract.parmcategory();
delete_from purchPRCategoryTmp;
ttsBegin;
if(reportType == Wre_ReportType::None || reportType == Wre_ReportType::PurchaseRequsition)
{
qbdspurch = query.addDataSource(tableNum(PurchTable));
qbdsline = qbdspurch.addDataSource(tableNum(PurchLine));
qbdsline.relations(true);
qbdscategory = qbdsline.addDataSource(tableNum(EcoResCategory));
qbdscategory.relations(true);
qbdspurch.addRange(fieldNum(purchTable,CreatedDateTime)).value(SysQuery::range(fromdate,todate));
// qbdspurch.addRange(fieldNum(purchTable,PurchStatus)).value(SysQuery::value(PurchStatus::Received));
qr = new QueryRun(query);
while (qr.next())
{
purchTable = qr.get(tableNum(PurchTable));
purchLine = qr.get(tableNum(PurchLine));
Ecorescategory = qr.get(tableNum(EcoResCategory));
purchPRCategoryTmp.clear();
purchPRCategoryTmp.PurchId = purchTable.PurchId;
purchPRCategoryTmp.Wre_Date = purchTable.createdDateTime;
purchPRCategoryTmp.PurchReqId = purchLine.PurchReqId;
purchPRCategoryTmp.Name = ecorescategory.Name;
purchPRCategoryTmp.insert();
}
}
else
{
qbdspurch = query.addDataSource(tableNum(PurchTable));
qr = new QueryRun(query);
while (qr.next())
{
purchTable = qr.get(tableNum(PurchTable));
purchPRCategoryTmp.clear();
purchPRCategoryTmp.PurchId = purchTable.PurchId;
purchPRCategoryTmp.Wre_Date = purchTable.createdDateTime;
while select purchLine
join ecorescategory
where purchLine.PurchId == purchTable.PurchId
&& ecorescategory.RecId == purchLine.ProcurementCategory
{
purchPRCategoryTmp.PurchReqId = purchLine.PurchReqId;
purchPRCategoryTmp.Name = ecorescategory.Name;
}
purchPRCategoryTmp.insert();
}
}
ttsCommit;
}
Comments
Post a Comment