Druckeinstellungen und Filterkriterien eines Reports vorbelegen II
08.05.2011Microsoft Dynamics AX (Axapta)
|
Dieser Beitrag bezieht sich auf die Version:
Dynamics AX 2009
Dynamics AX 2009
|
|
|
|
|
|
Dieser Beitrag bezieht sich auf die Version:
Dynamics AX 2009
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Wie startet man einen Bericht, bei dem eine von RunBaseReport abgeleitete Klasse vorgeschalten ist, per X++ und gibt diesem Bericht bereits den Query und die Druckeinstellungen vor?
Wer sich diese Frage schon einmal stellen musste, für den liefert dieser Blogbeitrag vielleicht einen Lösungsansatz:
static void setPrintJobSettingsQuery4ReportClass_II(Args _args) { custReport custReport = new custReport(); printJobSettings printJobSettings = new printJobSettings(); ; custReport.makeReportRun(); // Modify Query sysQuery::findOrCreateRange(custReport.reportRun().query().dataSourceTable(tableNum(custTable)), fieldNum(custTable, custGroup)).value(queryValue('10')); custReport.reportRun().query().interactive(false); // Create printJobSettings printJobSettings.setTarget(PrintMedium::File); printJobSettings.format(PrintFormat::PDF); printJobSettings.fileName(@"C:\Temp\CustTableReport.pdf"); // Apply printJobSettings custReport.reportRun().printJobSettings(printJobsettings.packPrintJobSettings()); custReport.reportRun().report().interactive(false); // Disable default printer-dialog custReport.reportRun().run(); }Obiger Code instanziiert ein Objekt der Klasse custReport, deren wesentliche Methoden wie folgt aussehen:
class CustReport extends runBaseReport { }public identifiername lastValueElementName() { identifiername ret; //ret = super(); ret = reportStr(Cust); return ret; }static ClassDescription description() { return "Custreport"; }static void main(Args args) { CustReport CustReport; ; CustReport = new CustReport(); if (CustReport.prompt()) { CustReport.run(); } }