18. Juli 2013 07:42
Hallo AX-Entwickler,
in AX2009 ging es problemlos, Formulare (Lieferscheine/Rechnungen) per Code in PDF-Files zu drucken.
Gemäß verfügbarer Beschreibungen über die Anwendung der SRSPrintDestinationSettings, müsste das eigentlich auch in AX2012 funktionieren.
Ich habe es über 2 Wege anhand des Lieferscheinnachdrucks probiert:
1. Direkter Menüaufruf mittels new MenuFunction()
2. Anwendung der Klasse SalesPackingSlipJournalPrint.
In beiden Fällen greifen die übergebenen Druckeinstellungen nicht. Die Ausgabe erfolgt immer am Bildschirm.
Hat Jemand einen Code-Tipp, wie sich die SRS-PrintSettings für Formulare per AX-Code in AX2012 übersteuern lassen.
zu 1: Auszug zum Beispiel unter Verwendung des MenuItems:
printSettings = new SRSPrintDestinationSettings(_salesFormLetter.printerSettingsFormletter(PrintSetupOriginalCopy::Original));
printSettings.fileFormat(SRSReportFileFormat::PDF);
printSettings.printMediumType(SRSPrintMediumType::File);
printSettings.fileName(filePath+fileName); //Irgendein Dateipfad+Dateiname.pdf
salesPackingSlipMenu = new MenuFunction(menuitemoutputstr(salesPackingSlipOriginal),MenuItemType::Output);
_salesFormLetter.usePrintManagement(false);
_salesFormLetter.updatePrinterSettingsFormLetter(printSettings.pack(),PrintSetupOriginalCopy::Original);
parameters.caller(_salesFormLetter);
parameters.record(_packingSlipJour);
salesPackingSlipMenu.run(parameters);
Viele Grüße
Ina
18. Juli 2013 20:07
Hallo Zusammen,
ich konnte das Problem durch Änderung der Klasse SrsPrintMgmtFormLetterController lösen.
Geholfen hat mir ein Blog-Eintrag von Ludovico Mattiuzzo.
Außerdem wird in AX2012 R2 der mitgegebene PDF-Pfad in der Klasse PrintMgmtReportRun durch einen neuen Pfad überschrieben.
Dadurch wird die Datei doppelt gedruckt. Das konnte ich durch eine Pfad-Gültigkeitsprüfung umgehen.
Grüße
Ina