jueves, septiembre 01, 2011

Jet Reports Express disponible para descargar

Jet Reports Express para Microsoft Dynamics NAV ya está disponible para descargar.

Esta herramienta permite crear informes con datos extraídos de Dynamics NAV, en un entorno familiar para los usuarios como es Microsoft Excel, del que se pueden aprovechar todas sus potentes funcionalidades como PowerPivot, formateo de celdas, gráficos, tablas dinámicas, etc.

El lanzamiento de Jet Reports Express incluye también videos de formación, una guía de instalación así como materiales para para ventas y marketing.


Todos los materiales se pueden encontrar en los siguientes links:
PartnerSource - Lanzamiento de Jet Reports Express
Web de Jet Reports

Imprimir PDF por codigo desde Navision Classic

Existen maneras de imprimir un PDF por codigo mediante C/AL.
En este ejemplo utilizaremos la impresora de Bullzip para imprimir una factura.

PrintSelCreated := FALSE;
IF NOT PrinterSelection.GET('',206) THEN BEGIN
  PrinterSelection.INIT;
  PrinterSelection."Report ID" := 206;
  PrinterSelection."Printer Name" := 'Bullzip PDF Printer';
  PrinterSelection.INSERT;
  PrintSelCreated := TRUE;
END ELSE BEGIN
  ActualPrinterSel := PrinterSelection."Printer Name";
  PrinterSelection."Printer Name" := 'Bullzip PDF Printer';
  PrinterSelection.MODIFY;
END;

CREATE(BullZipPDF);
BullZipPDF.Init;
BullZipPDF.LoadSettings;
RunOnceFile := BullZipPDF.GetSettingsFileName(TRUE);
BullZipPDF.SetValue('Output','C:\Temp\Sample.pdf');
BullZipPDF.SetValue('Showsettings', 'never');
BullZipPDF.SetValue('ShowPDF', 'no');
BullZipPDF.SetValue('ShowProgress', 'no');
BullZipPDF.SetValue('ShowProgressFinished', 'no');
BullZipPDF.SetValue('SuppressErrors', 'yes');
BullZipPDF.SetValue('ConfirmOverwrite', 'no');
BullZipPDF.WriteSettings(TRUE);

SalesInvHeader.SETRANGE("No.", '1103001');
REPORT.RUNMODAL(206,FALSE,FALSE,SalesInvHeader);

TimeOut := 0;
WHILE EXISTS(RunOnceFile) AND (TimeOut < 10) DO BEGIN
 SLEEP(1000);
 TimeOut := TimeOut + 1;
END;

IF PrintSelCreated THEN
 PrinterSelection.DELETE
ELSE BEGIN
 PrinterSelection."Printer Name" := ActualPrinterSel;
 PrinterSelection.MODIFY;
END;

//Para mostrar la factura generada
HYPERLINK('C:\Temp\Sample.pdf');

//Para enviarla por email
cu400.CreateMessage('Sender','sender@mycompany.com','recipient1@yourcompany.com;recipient2@yourcompany.com','Subject','Body',TRUE);
cu400.AddAttachment('C:\Temp\Sample.pdf');
cu400.Send;