Here’s an example that prints the baq report to a client printer. The variables are passed to the bpm from a customization.
try
{
using (Ice.Contracts.DynamicReportSvcContract dynamicReport = Ice.Assemblies.ServiceRenderer.GetService<Ice.Contracts.DynamicReportSvcContract>(Db))
{
using( Ice.Contracts.BAQReportSvcContract baqReport = Ice.Assemblies.ServiceRenderer.GetService<Ice.Contracts.BAQReportSvcContract>(Db) )
{
var rptTs = dynamicReport.GetByID("InvLabel");
var baqRptDS = baqReport.GetNewBAQReportParam("InvLabel");
baqRptDS.BAQReportParam[0].BAQRptID = "InvLabel";
baqRptDS.BAQReportParam[0].BAQID = "InventoryLabelData";
baqRptDS.BAQReportParam[0].ReportID = "InvLabel";
baqRptDS.BAQReportParam[0].ReportStyleNum = reportStyle;
baqRptDS.BAQReportParam[0].Option01 = tranNum.ToString();
baqRptDS.BAQReportParam[0].AutoAction ="SSRSClientPrint";
baqRptDS.BAQReportParam[0].PrinterName = printer;
baqRptDS.BAQReportParam[0].WorkstationID = workstationID;
baqRptDS.BAQReportParam[0].SSRSRenderFormat = "PDF";
baqRptDS.BAQReportParam[0].AttachmentType = "PDF";
baqRptDS.BAQReportParam[0].Summary = false;
baqRptDS.BAQReportParam[0].RecurringTask = false;
baqRptDS.BAQReportParam[0].SSRSEnableRouting = false;
baqRptDS.BAQReportParam[0].ArchiveCode = 0;
baqRptDS.BAQReportParam[0].AgentSchedNum = 0;
baqRptDS.BAQReportParam[0].AgentID = "Main";
baqRptDS.BAQReportParam[0].AgentTaskNum = 0;
baqRptDS.BAQReportParam[0].RowMod = "A";
baqRptDS.BAQReportParam[0].RptPageSettings = pageSettings;
printerSettings = Regex.Replace(printerSettings, @"Copies=\d*", @"Copies=" + quantity.ToString() );
baqRptDS.BAQReportParam[0].RptPrinterSettings = printerSettings;
rptTs.BAQRptOptionFld[0].FieldValue = tranNum.ToString();
DynamicReportDataSet rptDs = new DynamicReportDataSet();
DatasetAdapter.CopyTSTableToDataTable<BAQReportRow, DynamicReportDataSet.BAQReportDataTable>(rptTs.BAQReport, rptDs.BAQReport);
DatasetAdapter.CopyTSTableToDataTable<BAQRptFilterRow, DynamicReportDataSet.BAQRptFilterDataTable>(rptTs.BAQRptFilter, rptDs.BAQRptFilter);
DatasetAdapter.CopyTSTableToDataTable<BAQRptOptionFldRow, DynamicReportDataSet.BAQRptOptionFldDataTable>(rptTs.BAQRptOptionFld, rptDs.BAQRptOptionFld);
DatasetAdapter.CopyTSTableToDataTable<BAQRptSortRow, DynamicReportDataSet.BAQRptSortDataTable>(rptTs.BAQRptSort, rptDs.BAQRptSort);
DatasetAdapter.CopyTSTableToDataTable<BAQRptSortFldRow, DynamicReportDataSet.BAQRptSortFldDataTable>(rptTs.BAQRptSortFld, rptDs.BAQRptSortFld);
rptDs.AcceptChanges();
StringWriter writer = new StringWriter();
rptDs.WriteXml(writer);
baqRptDS.BAQReportParam[0].Filter1 = writer.ToString();
baqReport.SubmitToAgent(baqRptDS, "Main", 0, 0, "Ice.UIRpt.BAQReport;InvLabel");
}
}
}
catch (Exception ex)
{
this.PublishInfoMessage("An error occured trying to print report." + ex.Message, Ice.Common.BusinessObjectMessageType.Information, Ice.Bpm.InfoMessageDisplayMode.Individual, "", "");
}
'''