NAV 2013 R2 | Debugger Watches

I totaly love the concept of pages. They are easier to merge and upgrade and they way they render is awesome. However, they come with a few drawbacks. Some of them we already had in the classic client with forms, some are new.

One of the drawbacks is the lack of drag and drop. This was true for the classic client too.

A place in Dynamics NAV where it is very obvious what would be the value of drag and drop is the debugger. The debugger in NAV2013(R2) is designed as a page.

Like this:


In general it works pretty good. It is easier to break, toggle breakpoints and the fact that you can debug any user on the servicetier is just straigt from heaven.

But one of the things that was a 1000 times easier in the old debugger was watches. It is no longer possible to just drag and drop them.

However… I only recently found a neat trick and I figured “how is it that I did not notice this earlier”.

The AL codepart is developped as a client add-in which allows to send events to the page. One of the events is adding a watch while hovering over a variable like this:


Now take a close look at the icon


If you push the + sign the variable is added to the watchlist.

Personally I find myself pretty foolish not noticing it for more than like 2 or 3 years but hey, I might not be the only one.

Here is the event in AL:



Design Patterns | 10 Video’s

At the moment of writing this, 10 Design Pattern video’s are published. I recently started working on 5 more.

People at Microsoft have asked me what is the logical order of watching them. This is actually quite a hard question to answer. Some videos are in detail about a specific pattern that is represented by a few fields and some code while other video’s are about larger patterns such as explaining the locial flow of posting routines.

But let’s do a suggestions:

How Do I :

1. Build solutions using design patterns

2. Read and Understand the Posting Routines

3. Work with Master Data and Posting

4. Implement Master Data

5. Implement the Number Series Pattern

6. Use the Journal Template-Batch-Line Pattern

7. Implement the Singleton Table Pattern

8. Use the Select Pattern in a Posting Routine

9. Use Temporary Datasets

10. Use the Transfer Custom Fields Design Pattern

I hope this helps you find your way. The five new titles will be published soon.3. 3.

NAV2013R2 | Extend Excel Buffer

With the introduction of Microsoft Dynamics NAV2013, a discussion started around the flexibility of the Excel buffer.

Until 2013, the Excel buffer table used automation libraries directly which allowed C/AL developers to add features without a lot of hassle.

Now with 2013 Microsoft implemented the use of DotNet Interop, but since NAV cannot directly use the office libraries, a wrapper was shipped.

This wrapper limmits the possibilities of C/AL developers to add features.

I am very happy to announce that Microsoft has listened and will implement the most used featutures to the Excel buffer in a future version and they have released a codeplex project to downgrade them to 2013 (r2).

The codeplex project can be found here:

My plan is to wrap all the changes into a new Excel buffer table and put the dll on Mibuso, but at the moment I am terribly occupied, both at work and at home. I did not want to withhold you from the news that the codeplex download is available.

Have fun.

Design Patterns | Video Series

For the Readiness program on Microsoft Dynamics NAV 2013 R2 I am asked to make a series of 10 video’s on creating Vertical Solutions.


I did not need more than a split second to say yes since it matches exactly to the book I published about Application Design and my part on the Design Patterns team and Partner Ready Software.


Just my cup of tea.

PRS Logo

This video series will focus on best practices to create your own solutions on top of and integrated with Microsoft Dynamics NAV and are based on the design patterns and the methodology that was developed by PRS.

When writing this blog the first two videos are online and I just finised two more. Each week I will release two video’s, except for next week when we have our Design Paterns meeting in Vedbaek.

My (ambitous) plan is to write a small blog post about each video.

The first video’s are:

How do I Implement the Number Series Pattern (YouTube)


How do I Use the Select Pattern in a Posting Routine (YouTube)

NAV 2013 R2 | The Incident with removing FBK features is under investigation by the stewards

Since NAV 2013 R2 was released there has been a lot to do about removing the backup feature (fbk) from the classic client. Especially the part that allowed people to backup and restore a specific company.

Honestly I cannot recall when I last used this feature other than copying a company within a database. I would be curious to hear real business cases for this feature, especially end-user cases.

But I have some good news.

Just like an indicent in Formula 1, this incident is under investigation. Maybe it will be back.

Last Monday there was a MVP call with Microsoft about issues in NAV 2013 R2 and the feedback about this issue is that they realize that they’ve broken functionality that causes something that could be done before not to be possible anymore.

They are currently looking at if and how a similar feature could be reintroduced. We will be hearing from Microsoft within few weeks.

I’ll keep you updated via my (new) blog!


NAV 2013 R2 | Keys, Keygroups and SetCurrentKey

With NAV 2013, the Classic Client and the Native Navision database were discontinued.

One of the possibilities that arised was improving the SQL story in NAV.

This was done first by implementing SETAUTOCALCFIELDS and the possibility to do CALCSUMS and FlowFields without specifying a SumIndexField. This is released in NAV2013.

In NAV2013 R2 the story continues


In the Native database the structure how Navision maintained Keys was perceived as revolutionairy and a main part in the success of the Application and its architecture.

Within a Key one could specify SumIndexFields. These are decimals that then would be totalled in the background without writing code.

Everything in NAV like G/L, Inventory and Jobs is based on that principle. You will not find any Application code in NAV that totals entries.

To be able to sort something a Key was required in the Native database. A maximum of 40 keys were allowed. This is different in SQL Server.

SQL Server can sort without having an Index (the name for Key in SQL Server). Therefore with the Native database being discontinued the possibility opened to change the Key story in NAV.

Therefore with the introduction of NAVA 2013 R2 it is no longer required to define a Key on a table to sort data.

It is now possible to sort on any column in the UI.

And it is also possible to sort on any field from AL code.

SetCurrentKey no longer requires a Key to be created in the table.


Another change that has been imlemented is the discontunation of KeyGroups.

After internal debate and investigation Microsoft decided that the active use of the feature was not enough to justify the effort of moving the feature from Classic Client to PowerShell.

Do you agree with this?