class DTProjectContractReportController extends SrsReportRunController { ProjTable dataTableOne; protected void PrePromptModifyContract() { super(); if ( this.parmArgs() && this.parmArgs().record()) { dataTableOne = this.parmArgs().record(); } } static void main(Args args) { ProjTable dataTableOne; DTProjectContractReportController ssrsController; datatableone = args.record() as ProjTable; ssrsController = new DTProjectContractReportController(); ssrsController.parmArgs(args); ssrsController.parmReportName(ssrsReportStr(DTProjListInvoiceTable_ProjectValue,Report)); ssrsController.parmShowDialog(false); ssrsController.parmLoadFromSysLastValue(false); ssrsController.startOperation(); } }
class DTProjectContractReportDP extends SRSReportDataProviderBase { DTProjectContractTableTmp DTProjectContractTableTmp; PSAProjProposalProj pSAProjProposalProj; ProjInvoiceJour projInvoiceJour; ProjTable projTable, projTable1; projUnpostedTransView projUnpostedTransView; str name; ProjId projId; [SrsReportDataSetAttribute(tableStr('DTProjectContractTableTmp'))] public DTProjectContractTableTmp GetDTProjectContractTableTmp() { select * from DTProjectContractTableTmp; return DTProjectContractTableTmp; } Public void processReport() { Query q; QueryRun qr; QueryBuildDataSource qbdsobjProjTable; QueryBuildDataSource qbdsobjDirPartyTable; QueryBuildDataSource qbdsobjLogisticsPostalAddress; QueryBuildRange qbr; DTProjectContractTableTmp.clear(); q= new Query(); qbdsobjProjTable = q.addDataSource(tableNum(ProjTable)); qr=new QueryRun(q); while(qr.next()) { projTable = qr.get(tableNum(ProjTable)); while select * from projTable { name = projTable::find(projTable.ProjId).Name; projId = projTable.ProjId; DTProjectContractTableTmp.clear(); DTProjectContractTableTmp.ProjId = projId; DTProjectContractTableTmp.Name = name; DTProjectContractTableTmp.DTProjectValue = projTable.DTProjectValue; select sum(InvoiceAmount) from projInvoiceJour join pSAProjProposalProj group by PROJID where pSAProjProposalProj.PROJPROPOSALID == projInvoiceJour.PROPOSALID && pSAProjProposalProj.PROJID == projId; DTProjectContractTableTmp.InvoiceAmount = projInvoiceJour.InvoiceAmount; select sum(Amount) from projUnpostedTransView where projUnpostedTransView.LinePropertyId == 'Billable' && projUnpostedTransView.ProjId == projId; DTProjectContractTableTmp.BillableAmt = projUnpostedTransView.Amount; select sum(Amount) from projUnpostedTransView where projUnpostedTransView.LinePropertyId == 'Non-Bill' && projUnpostedTransView.ProjId == projId; DTProjectContractTableTmp.NonBillAmt = projUnpostedTransView.Amount; DTProjectContractTableTmp.insert(); } } } }
Under review
Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.
As AI tools become more common, we’re introducing a Responsible AI Use…
We are honored to recognize Neeraj Kumar as our Community Spotlight honoree for…
These are the community rock stars!
Stay up to date on forum activity by subscribing.
Martin Dráb 683 Most Valuable Professional
André Arnaud de Cal... 563 Super User 2025 Season 2
Sohaib Cheema 398 User Group Leader