Stampare una fattura da AX

Guida alla creazione, in Microsoft Dynamics AX, di un Job che permette di stampare una fattura su una stampante da noi definita.

Hai la necessità di creare, in Microsoft Dynamics AX, un Job che ti permetta di stampare una fattura su una stampante da te definita, ma non sai da che parte cominciare? Se sei in questa situazione, ti consiglio, allora, di sederti e prenderti 5 minuti per leggere questo articolo dove ti mostrerò alcune righe di codice che ti potrebbero aiutare nel risolvere il tuo problema.

La prima cosa da fare, dopo aver aperto il gestionale della casa di Redmond, è quello di creare un nuovo Job o un nuovo metodo. Una volta creato è sufficiente aggiungere le righe di codice qui sotto.

Nell’esempio qui sotto riportato vado a stampare sulla stampante MyPrinter tutte le fatture create in data odierna.

//Metodo creato da Faion Andrea il 30/05/2017 per la stampa di tutte le fatture giornaliere
static void StampaFatture(Args _args)
{
    //Dichirazione delle variabili
    SalesFormLetter     salesFormLetter;
    PrintJobSettings    printJobSettings;
    CustInvoiceJour     CustInvoiceJour;
    ;
    //Ciclo all'interno delle Fatture e prendo solo quelle create in data odierna
    while select * from CustInvoiceJour
        where CustInvoiceJour.createdDate == SystemDateGet()
    {
        //Tipo di documento
        SalesFormletter = SalesFormletter::construct(DocumentStatus::Invoice, false);

        printJobSettings = new printJobSettings();
        //Imposto il nome della stampante su cui voglio stampare le fatture
        PrintJobSettings.deviceName("MyPrinter");

        //Stabilisco il formato e dove voglio mandare la stampante
        printJobSettings.setTarget(PrintMedium::Printer);
        printJobSettings.format(PrintFormat::PDF);

        //Nascondo eventuali messaggi di avviso se il file esiste già
        printJobSettings.warnIfFileExists(false);

        //Mi segno sul registro degli eventi il numero della fattura stampata
        info("Stampata la fattura numero: " + CustInvoiceJour.InvoiceId);

        SalesFormletter.updatePrinterSettingsFormLetter(printJobSettings.packPrintJobSettings());

        //Stampo il tutto
        CustInvoiceJour.printJournal(SalesFormletter);
    }
    //Comunico la fine
    Box::info("Elaborazione Terminata");
}

Prima di lanciare l’esecuzione del metodo apportare le personalizzazioni del caso.

Spero di esserti stato d’aiuto e di averti aiutato nel risolvere il tuo problema. Per qualsiasi dubbio non farti problemi commenta e vedrò, appena possibile, di aiutarti.

*Metodo creato e testato per la versione 4 di Microsoft Dynamics AX.

Ti potrebbe interessare anche:


 

Condividi con i tuoi amici

Articoli Correlati

Informazioni su Andrea Faion 408 Articoli
FAION ANDREA. Ho 35 anni e sono diplomato in informatica presso l'ITIS Kennedy di Pordenone. Da sempre appassionato a tutto ciò che concerne il mondo dell'informatica.

Commenta per primo

Lascia un commento