Category: Knowledge Base

Add request page variables to a report

You can use the report property Request Page Variables to add variables to the report’s request page. The value of the variables can later be used in JavaScript expressions to control the layout of the report. You can use this property when editing AL-object reports in your own extensions. If you want to add request

Continue Reading

Migration from Custom Report Layouts to Report Layouts

With Business Central 20, Microsoft introduced a new custom report layout subsystem with a new table layout, which works in parallel with the current custom layout subsystem. Eventually, Microsoft will deprecate the old custom layout subsystem and all Business Central extensions will need to be changed to use the new subsystem. Because Microsoft knows that

Continue Reading

Hidden ForNAV Direct Print features

In a support case today, a partner wrote that Business Central Print does not support Duplex, based on information from this article: OnAfterDocumentPrintReady Event – Business Central | Microsoft Learn After having a closer look, there are even more things not supported by Business Central: default copies, color, duplex, and custom paper trays/bins. However, ForNAV

Continue Reading

ForNAV Report Service

Today, running ForNAV OnPrem depends on a DLL, which has become the de facto way of integrating with Dynamics NAV and Business Central. However, after the move from C/SIDE to extensions, widespread use of Docker, and having to support a different model on Business Central Cloud, the value of using a DLL has decreased. On

Continue Reading

Formatting dates and numbers in JavaScript expressions

When using dates and numbers in JavaScript expressions, you often need formatting to get the desired result. The CurrReport.DotNetFormat function is helpful here, because it uses the .net format library, which can format almost everything: CurrReport.DotNetFormat(<value>,'<dotnetformatstring>’)  CurrReport.DotNetFormat(<value>,'<dotnetformatstring>’,<languageid>) – formats a value using a .net format string using the current language or a specific language.   To

Continue Reading

Getting the Shipment numbers from the posted sales invoice

Sometimes, you might want to print sales shipment information on a posted sales invoices. Because this is a one-to-many relationship – one sales invoice might be linked to many sales shipments and vice versa – you must get multiple records from the database. Note: You can also use this article to get the invoices from

Continue Reading

Current Append/Prepend PDF

Sometimes, adding the same PDFs to each document in a report is not sufficient and you must apply different PDFs, depending on the data (for example, Language). To be able to add the set of PDFs needed in a report, the Pdf.Store(key,image) function needs to be added to OnPreReport. Pdf.AppendFromStore(key) + Pdf.PrependFromStore(key), needs to be

Continue Reading

FIK code

Updated December 2022 In some cases, customers still want to have a FIK code on their invoices. To make this possible, ForNAV has a built-in function string, CurrReport.FIK(CardType: Number, Number: String, Account: String): string,which you can use to create the FIK string. If you use Continia’s Payment solution, to create the following FIK string: +71<000000004040663+12345678<

Continue Reading

Get line discounts on the Pro Forma Invoice

By default, the line discounts are not displayed on the ForNAV Pro Forma Invoice. This is by design; the underlying code clears the values and recalculates the line amounts. If you want to use the original lines, you can create a new JavaScript record to read them from Business Central:   Keywords: ProForma

Continue Reading

Move, modify, insert, and remove data items, sections, and controls in the Report Explorer

Under the Field List in the left pane of the Designer, you can find the Report Explorer:   You use the Report Explorer to edit a report using a tree view, in the following ways: You can move around data items, sections, and controls using drag-and-drop functionality. For example, you can: Move a data item

Continue Reading