Skip to content
Dynamics 365 Blog

Working with WordWaiter class with Microsoft Dynamics NAV 

SinceDynamics NAV 2017 Cumulative Update 13 – and also in Dynamics NAV 2018 – the Office Integration experience has been enriched by a new interop assembly to handle non-modal calls to Microsoft Word and retrieve document close events. The .NET Type added to Microsoft.Dynamics.Nav.Integration.Office DLL are the following: Microsoft.Dynamics.Nav.Integration.Office.Word.WordDocumentWaiter Microsoft.Dynamics.Nav.Integration.Office.Word.WordDocumentWaiter+DocumentCloseHandlerEventArgs A typical example where this...Read more

QR Code with Microsoft Dynamics NAV App 

An interesting extension of the Microsoft Dynamics NAV Phone app has to do with the ability to retrieve pictures using the device camera, where available. This feature is duly described in MSDN: How to: Implement the Camera in C/AL If you would like, then, to scan QR codes and Data Matrix in order to have...Read more

Coffee Break: Automate it, part 2 

This is a continuation of our previous post, with further examples of how to utilize Windows PowerShell from Dynamics NAV. The samples provided here just demonstrate how easy it can be to integrate the two, so you can build on this using any of the great (Dynamics NAV) PowerShell tools out there from a familiar development environment....Read more

Coffee Break: Automate it! 

The Coffee Break Team is back, and this time we will unite the best of the two worlds and show how we can utilize the power of Windows PowerShell, using your favorite application: Dynamics NAV. While we do recognize that scripting complex PowerShell tools and modules is not to everyone’s taste, C/AL is something we...Read more

New TimeStamp fields in Microsoft Dynamics NAV 2016 

In Dynamics NAV 2016, you may have noticed that a new field has shown up in the development environment: Timestamp. We mentioned this in the What’s New topic in the MSDN Library, but here is a bit of background. Since the first version of the SQL Server option for Dynamics NAV, every Dynamics NAV table has...Read more

Design Pattern: Data-driven Blocked Entity 

This pattern implements a generic mechanism for dynamically restricting and allowing usage of a record by the business process administrator. Problem A Dynamics NAV record can be used in a number of functionalities across the application. There are situations, however, when the administrator wants to restrict the consumption of such a record, as well as...Read more

Design Pattern: Observer 

Microsoft Dynamics NAV has the built in ability to track all record changes against any table, however it does not always fire the triggers for every table. But with the Observer pattern, you can track all record changes against a defined table or set of tables. This pattern is a good example of how classic...Read more

NAV Design Pattern: Activity Log 

The Activity Log pattern tracks execution of activities. This is a Dynamics NAV specific implementation of the generic Audit Log pattern. In general, integrating with external systems can be very challenging, due to the complexity of the situation – connectivity issues, asynchronous operations, user errors, etc. These challenges require sometimes re-trying several times, polling the...Read more

Design Pattern: Argument Table 

The Argument Table pattern is used to provide an extension point for adding new arguments to a function without changing the signature. By grouping multiple arguments in a table, the code becomes more readable (the signature and the usage of the function). For the full description of this pattern, see the NAV Design Patterns wiki page....Read more

NAV Design Pattern: Variant Façade 

The Variant façade provides a single interface that can take any Record, RecordRef or RecordID as an argument. With this pattern, the code is encapsulated within the single object, with clear separation between common and table specific code. For the full description of this pattern, see the NAV Design Patterns wiki page....Read more

NAV Design Pattern: TryFunction – .NET Exception Handling in C/AL 

When you want to use objects from the .NET Framework in C/AL code, one of the main challenges is to handle exceptions that the methods of these objects may throw. Eventually, if not handled, they will basically bubble up as runtime errors, halting the current operation a user is doing without having a chance to properly...Read more