Drucken Sie den Bericht in Microsoft Dynamics AX 2009 mit X++
Ich versuche zu drucken AUFTRAGSBESTÄTIGUNG Bericht auf eine Schaltfläche klicken, die habe ich Hinzugefügt, auf Sales Order Detail-Formular in Microsoft Dynamics AX 2009. Auf click-Ereignis der Schaltfläche, die ich geschrieben habe folgenden code:
void clicked()
{
Args args;
ReportRun reportRun;
SalesFormLetter salesFormLetter;
PrintJobSettings printJobSettings;
CustConfirmJour custConfirmJour;
RecordSortedList list = new RecordSortedList(55);
SalesTable salesTableUpdate;
;
SELECT firstonly custConfirmJour order by ConfirmID desc where custConfirmJour.SalesId == salesTable.SalesId ;
list.ins(custConfirmJour);
args = new Args(ReportStr(SalesConfirm));
printJobSettings = new PrintJobSettings();
printJobSettings.SetTarget(PrintMedium::Printer);
printJobSettings.suppressScalingMessage(true);
salesFormLetter = new SalesFormLetter_Confirm(true);
salesFormLetter.updatePrinterSettingsFormLetter(printJobSettings.packPrintJobSettings());
args.designName("Standard");
args.caller(salesFormletter);
args.parmEnum(PrintCopyOriginal::Original);
args.parmEnumType(enumnum(PrintCopyOriginal));
args.object(list);
reportRun = new ReportRun(args);
reportRun.setTarget(PrintMedium::Printer);
reportRun.init();
reportRun.run();
}
Den code einwandfrei läuft außer auf problem, anstatt senden Sie den Bericht direkt auf dem Drucker, Druckvorschau kommt.
Ich sehr greateful wenn jemand von Euch könnte lassen Sie mich wissen, was ist falsch an diesem code.
Rgds
Haroon
InformationsquelleAutor haroonattari | 2010-10-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da bist du nicht zu schicken, in eine Referenz zu jedem Drucker, es hätte den Standarddrucker verwenden, das könnte sehr gut sein, Microsoft XPS oder einige display-fähigen Drucker.
Hatte ich in den schicken printersetting zum Bericht (SalesInvoice) und fügen Sie einige code, beschnuppern alle gesendet printersetting. Ansonsten, der Bericht wird verwenden, was printersetting, gilt für diese Art von Bericht. Bekommen, dass die Arbeit ermöglichte mir den pass in verschiedenen printersettings, wie E-Mail, PDF, etc, etc... 🙂
InformationsquelleAutor Skaue
Wenn Sie nicht wissen, das Gerät, das der Benutzer hat die Einrichtung als Standarddrucker, dann wird Sie immer Druck auf den Standarddrucker. Wenn Ihre Standard-Einstellungen zum drucken auf dem Bildschirm (obwohl Sie ausgewählte Print-Mediums: Drucker) wird es noch gehen Sie auf den Bildschirm. Ich würde denken, dass Sie wählen sollten, PrintMedium::Bildschirm und es gehen immer zum Bildschirm, so dass der Benutzer einen Drucker wählen, sonst können Sie nicht wissen, wo der Bericht gedruckt (ich habe einige Benutzer, die ungeraden Entscheidungen, die als Standard-Drucker, die möglicherweise über dem Gebäude).
InformationsquelleAutor Michael Brown
versuchen Sie dies:
Zu diesem code rufe ich einen Bericht Dreimal (variable maxReports), jedesmal, wenn es geht, direkt an den Drucker.
InformationsquelleAutor Siddhartha Indra