Running the report via code
private void generateVendBalanceReport()
{
SrsReportRunController reportRunController;
Map queryContracts;
MapEnumerator mapEnum;
Query query;
QueryBuildRange range;
SrsReportDataContract contract;
VendBalanceReportContract rdpContract;
FilePath outputPath = "c:\\";
;
// Create the report run controller
reportRunController = new SrsReportRunController();
reportRunController.parmReportName('VendBalanceReport.AutoDesign1');
reportRunController.parmLoadFromSysLastValue(false);
// Set printer settings (print to file, format, filename, etc).
contract = reportRunController.parmReportContract();
contract.parmPrintSettings().printMediumType(SRSPrintMediumType::File);
contract.parmPrintSettings().overwriteFile(true);
contract.parmPrintSettings().fileFormat(SRSReportFileFormat::PDF);
contract.parmPrintSettings().fileName(outputPath + "VendBalanceReport.pdf");
// Use our custom-defined report contract class
rdpContract = contract.parmRdpContract() as VendBalanceReportContract;
rdpContract.parmToDate(systemDateGet());
rdpContract.parmIncludeVendorsWithoutTransactions(true);
// Add a range to the query (filter vendors that begin with '3').
queryContracts = contract.parmQueryContracts();
mapEnum = queryContracts.getEnumerator();
while(mapEnum.moveNext())
{
// Get the query and update the datasource as required
query = mapEnum.currentValue();
range = SysQuery::findOrCreateRange(query.dataSourceTable(tableNum(VendTable)),fieldNum(VendTable,AccountNum));
range.value('3*');
}
// Run the report
reportRunController.runReport();
}
private void generateVendBalanceReport()
{
SrsReportRunController reportRunController;
Map queryContracts;
MapEnumerator mapEnum;
Query query;
QueryBuildRange range;
SrsReportDataContract contract;
VendBalanceReportContract rdpContract;
FilePath outputPath = "c:\\";
;
// Create the report run controller
reportRunController = new SrsReportRunController();
reportRunController.parmReportName('VendBalanceReport.AutoDesign1');
reportRunController.parmLoadFromSysLastValue(false);
// Set printer settings (print to file, format, filename, etc).
contract = reportRunController.parmReportContract();
contract.parmPrintSettings().printMediumType(SRSPrintMediumType::File);
contract.parmPrintSettings().overwriteFile(true);
contract.parmPrintSettings().fileFormat(SRSReportFileFormat::PDF);
contract.parmPrintSettings().fileName(outputPath + "VendBalanceReport.pdf");
// Use our custom-defined report contract class
rdpContract = contract.parmRdpContract() as VendBalanceReportContract;
rdpContract.parmToDate(systemDateGet());
rdpContract.parmIncludeVendorsWithoutTransactions(true);
// Add a range to the query (filter vendors that begin with '3').
queryContracts = contract.parmQueryContracts();
mapEnum = queryContracts.getEnumerator();
while(mapEnum.moveNext())
{
// Get the query and update the datasource as required
query = mapEnum.currentValue();
range = SysQuery::findOrCreateRange(query.dataSourceTable(tableNum(VendTable)),fieldNum(VendTable,AccountNum));
range.value('3*');
}
// Run the report
reportRunController.runReport();
}
No comments:
Post a Comment