HOWTO: Imprimir PDF desde AX mediante código

Habitualmente se presenta la necesidad de imprimir documentos desde Dynamics AX en formato PDF. Esta es una funcionalidad, presente en el estándar, se puede replicar por código según las necesidades.

El siguiente Job (basado en otro original de Giridhar Raj’s Blog) indica como hacerlo para imprimir una factura pero es fácilmente extensible a otro tipo de documentos:

/*
 *      www.jaestevan.com
 */

static void ImprimirPDF(Args _args)
{
    SalesFormLetter     salesFormLetter;
    PrintJobSettings    printJobSettings;
    CustInvoiceJour     custInvoiceJour;
    SalesId             salesId             = "SO-100108";
    FileName            fileName;

    #File
    ;

    salesFormLetter = SalesFormLetter::construct(DocumentStatus::Invoice,false);

    printJobSettings = new PrintJobSettings();
    printJobSettings.setTarget(PrintMedium::File);
    printJobSettings.format(PrintFormat::PDF);
    printJobSettings.fileName(strfmt(@"c:\%1%2", salesId, #pdf));
    printJobSettings.warnIfFileExists(false);

    salesFormLetter.updatePrinterSettingsFormLetter(printJobSettings.packPrintJobSettings());

    select custInvoiceJour
        where custInvoiceJour.SalesId == salesId;

    custInvoiceJour.printJournal(salesFormLetter);
}

Descarga

2 comentarios
  • jaestevan
    septiembre 7, 2011

    Hola Liliana,

    La funcionalidad estándar está disponible sólo para reports (que yo sepa). Si quieres imprimir un texto suelto siempre se puede crear un report, poner el texto e imprimirlo, incluso de forma dinamica.

    Saludos.

  • Liliana Orjuela
    septiembre 7, 2011

    Hola, tengo una duda, sólo se pueden imprimir reportes a PDF?? no es posible imprimir solo un texto??
    Quedo atenta a tu respuesta,