Procedure to save a record as a report-PDF document in the particular path in Dynamics NAV
Introduction: In this blog, I will be giving the procedure to save the selected Posted Sales Invoice as a PDF document in a particular mentioned path.
Pre-Requisite:
Microsoft Dynamics NAV
Procedure:
- Create the following C/AL global variables in Page 143 Posted Sales Invoices.
Name | DataType | Subtype | Length |
FileName | Text | 200 | |
FileMgt | Codeunit | File Management | |
SalesInvoiceHeader | Record | Sales Invoice Header | |
FolderName | Text | ||
PDFFileName | Text |
- I have created a new action on Page 143 Posted Sales Invoices to save the selected Posted sales invoice as a PDF document. You can select multiple records and save all of them at once in a specific path. To select many records at once and perform some action on all, you can refer my blog using the below link:
- To save the Posted Sales Invoice as a PDF document add the following code:
FileName := FileMgt.ServerTempFileName('PDF');
- Now to get reference of the Posted Sales Invoice record for which the report needs to be saved, you need to write the following code snippet:
SalesInvoiceHeader.RESET; SalesInvoiceHeader.SETRANGE("No.", Rec."No."); IF SalesInvoiceHeader.FINDFIRST THEN BEGIN REPORT.SAVEASPDF(ReportID,FileName,SalesInvoiceHeader); END;
I have entered the required report ID in a newly created custom setup table. From that table, I am fetching the Report ID. The standard sales invoice report ID is 206. If you have a customized report you need to enter the respective customized report ID.
- To download and save this particular Posted sales Invoice report, the following needs to be written:
Save the folder path in a variable FolderPath. You can enter the Folder path in a newly created custom table and fetch it from there.
FileMgt.DownloadToFile(FileName,FolderPath+'\'+FolderName+'\'+PDFFileName+'.pdf');
You can create customized folders using C/AL code according to the posting date of the Posted Sales Invoice as mentioned in my previous blog using the link below and save the customized folder name in a FolderName variable.
Procedure to create custom folders in a specific location using C/AL code in Dynamics NAV
This will save the required Posted Sales Invoice record report in the mentioned location.
Thank you!
This was originally posted here.
*This post is locked for comments