The Blog, The Books & The Workshops. In one place

This blog contains 10 years of information about Dynamics NAV . The articles are all categorised, which makes it easier for you to find the information you need.

Continue reading

Posted in Dynamics NAV, General | 4 Comments

Prepare for NAVTechDays 2016 | Are we hitting 1000?

The last and definitely one of the coolest NAV events of the year is only a few weeks away. NAV TechDays.

On November 17th the doors will open and boy am I looking forward to the keynotes. The penalty I had to pay for not attending Directions is having to miss any preview of the Visual Studio Code project. Fortunately Arend Jan Kauffmann is only one phone call away and his blog makes you feel you were in the session sitting next to him.

Will we hit 1000?

The million dollar question is if we will hit 1000 attendees this year. As Luc is one of the most transparent guys I know he is not shy of sharing details. On the Attendee page you can see we are getting close to 900.

Pre Conference Classes

For those of you who are attending the preconference classes the event starts one or two days earlier. There are still few seats available on these classes:

  • RDLC Advanced Reporting in NAV (Only Tuesday)
  • An introduction to the psychology of organizational performance (Tuesday)
  • Extending the Data Exchange Framework (Only Tuesday)
  • An introduction to Scrum (Wednesday)

See you there!

I’m looking forward to seeing you there. NAV-Skills is a sponsor and you can find Luc, me and our Dynamics App Alliance colleagues.


Posted in Dynamics NAV | Leave a comment

Reporting from NAVUG Summit 2016 in Pictures

NAVUG Summit is the highlight of my Navision year and NAVUG is one of the best things that happened to me in my professional life.

I’d like to give you an impression of the event by showing some pictures that hopefully tell the story better than words so you’ll attend next year.

Registration & Workshops


Twelve end-user developers attended my pre-conference class with an experience between just starting to 22 Navision years.

Microsoft Keynote


Tuesday was the day after the sail cruise for the NAVUG volunteers. We had to set up the ForNAV booth and attended the Dynamics 365 Launch with Scott and Marko.

Wednesday – Day 1

On Wednesday I had to “open” the event with a 7:45am session where I aparently proved that I need to stop walking and presenting at the same time. Had a great time talking about integration into NAV using Events, Extensions and Web Services.


During the NAV 2017 keynotes I had a chance to sneak up on the stage and could not resist taking a picture of the audience. This is the view Marko and Scott had, but with a bigger audience.


Thursday – Day 2

On Day 2 I had another opportunity to co-present with Soren Klemmensen. The goal of the session was to explain how to behave nice to Navision in order to apply monthly updates. Soren did a great job showing Source Code Management and PowerShell. I showed some anti-patterns and solutions to avoid spaghetti code and how to use the testability framework. Soren closed by explaining the philosophy behind extensions and how to start coding to be ready when extensions become mature enough to be used outside of Dynamics 365.

The evening was well spent with Alex Chow after signing books together. We talked about Dynamics 365, apps, the future of Navision, SCS collapsing and the MVP community.


Stump the experts

This year we had a great deal of fun during the expert panel with Jeff Landeen and Peter Zentner moderated by Kim Congleton.



This year I also had the honor of giving away an all-star award to Steve Chinsky. Other winners where AJ Ansari and Anthony Darden.


Friday – Day 3

The last day was wrapping up on the booth after a good breakfast.


Next Year

NAVUG Summit will be October 10-13, 2017, in Nashville, TN.


Posted in Dynamics NAV | Leave a comment

European Introduction of Dynamics 365 | ForNAV

Join me on November 9 for the introduction of Dynamics 365 in Europe.

Dynamics 365 for Financials (aka Project Madeira) is going to revolutionise ERP for the SMB market.

The launch will take place November 9th during the Dynamics Experience in Bussum, close to Schiphol Airport.


You can find me at the ForNAV booth as we are sponsoring this great event.


I will also be available to answer questions about migrating from NAV to Dynamics 365 for Financials and explaining differences and similarities between the solutions. This is a round table session.

Posted in Dynamics NAV | Leave a comment

This Extensions Stuff, is it version 0.1, 0.9 or 1.0?

Unless you have been living under a rock it is impossible to have missed the discussions about Extensions, or should I say fights. When I was walking my kids to school this morning my neighbour asked what the argument I had on LinkedIn with Marko was all about.

As MVPs we have to get used to a new reality. Blogging is no longer something that nerds do to share their personal opinion. Blogging is part of a marketeers day job and people get paid for what nerds like me do for free. I like it because writing allows me to clear my mind.

Oh, I remember the old days when people did not understand what an MVP was and we had huge debates over project green, SQL Server performance issues and other problems. No Microsofties getting in our way to have a good rant after having a bad day at the office.

In fact, in the real old days Navision employees were not allowed to be on (Now MiBuSo) or MBSOnline (Now DynamicsUsers). There were people that would do that anyway under an alias (which as very normal back then, you didn’t use your own name on forums) and helped people in the ecosystem.

Hey Mark, are you done already? I thought you were going to talk about extensions.

No. But be patient, we will get there eventually, maybe…

This is my blog. If you don’t want to read my thoughts, than don’t go here. Nobody forces you to read this. You don’t believe what I write is true? You think I am spreading rumours. I challenge you to test it yourself and if you prove me wrong I stand corrected. Happend in the past and I am a big boy, I can handle rejection.

Protecting code

Yesterday I spent most of my day on the Phone and on Skype. Talking to friends who attended Directions US.

On one of the calls I stood corrected. In one of my rants against Extensions I talk about the negative side effect of them being protected. You cannot see the source code.

This is bad, but not a new problem. It has been a challenge in our ecosystem for a longer time. A few months ago even I was asked to do a second opinion on a Navision 5.0 system that was running on a Native database. The source code was protected, not only the isv-range but also main posting routines like codeunit 12 and 80. This customer was held hostage by its partner.

In an unprotected situation I could have helped this customer and prevent an unhappy Navision customer leaving our ecosystem looking for another software.

Less serious a situation is where an ISV protects a few of their codeunits via the licensing system. In these situations you can still use some back doors that Microsoft kindly enough left in the system to analyse the code and even correct a thing or two before sending the solution to the ISV.

Extensions are protected but also have a backdoor. I’m not going to blog that and I am not taking the credits for finding the backdoor. One of my friends did that. So if a Navision 2016 or 2017 customer runs into issues when using an extension there is a way to change its behaviour without being held hostage by the ISV.

So what version of extensions are you talking about Mark?

I’m not going to tell you just yet. Please remember that NAV2017 is not released just yet and information is officially still under NDA. Strange situation because hundreds of people have access to the preview and every NAV partner seems to get access to Yammer with the Microsoft ace program these days.

What I do want to share are some other things.

Inside the VSCode project

One of my friends I called yesterday was Arend Jan Kauffmann and he shared the same with me as he writes in his blog, which is mandatory reading if you are taking your job as a Navision developer serious.

In his blog he is actually answering the question I raised as a title of the blog but I want to add some background which I will blog once NAV2017 is released maybe together with some videos.

He estimates an ETA of two-three years for this project to complete.

It sounds like a lot of problems I had with the current Extension model will no longer be valid but in return we will get an extra challenge called object-oriented programming.

Again, something for a future blog post or a video.

Solution Apps

James Crowter writes about Solution Apps. This is something I first heard about after WPC and it seems that partners who have a vertical solution which is not loosely coupled with the current design patterns can put their code into Dynamics 365 anyway.

This makes me smile. Yes we need to move to extensions, but in order to match sales targets we allow large vertical partners to take a backdoor.

I’ll leave you to have your own opinion here.

Future of my blog

If you are still reading this you are still on my blog. Since it is my blog I might post something tomorrow about my dog if I want to. It’s your choice to read my blog and my goal in life is not to be an MVP but to help the community.

If something is wrong with your Navision, call 911 (NA) , or 112 (Europe) and I will try to save you. I prefer to do that by sharing what I know in training, coaching, books, blogs, forums or videos. That allows me to multiply myself and ultimately have a better Navision ecosystem.

Sometimes I will share weird code that I find in Navision and try to explain how to work around it. This is normal I think in open source situations.

Posted in Dynamics NAV | 4 Comments

Performance Issue with Workflow + Solution

When I upgraded with one of my customers to NAV 2016 workflow was one of the new features I was looking forward to working with. You can imagine how disappointed I was when I found out that there was a huge performance issue with conditional workflows.

Here are a few links:

“When I’m posting a G/L Journal with 8000 lines, then NAV nicely updates the progress bar the first 50 seconds and reaches 100%.
Then NAV freezes for about 8-9 minutes without any sign of life, before it tells me it is done.”

Let’s look at the core reason of this problem (or at least what I’ve found when debugging):

When using filters this piece of code is executed:


LOCAL EvaluateConditionOnTable(SourceRecordId : RecordID;TableId : Integer;TempBlob : Record TempBlob) : Boolean
IF NOT RequestPageParametersHelper.ConvertParametersToFilters(RecRef,TempBlob) THEN
IF RecRef.RECORDID = SourceRecordId THEN
UNTIL RecRef.NEXT = 0;
What this code does, is loop through all records one-by-one until it finds the source to see if it matches within the filter.
Not so good for performance and this code is unchanged in NAV2017.

So how do you fix it?

In order to fix this we need to make a raw-source-code modification. Sorry James.😉
We need to combine the filter from the workflow with the primary key of the record we are looking at. If we do that, we no longer have to read every record. If the record is in the filter it will exit true. One read in the database. We can even replace it with ISEMPTY but we want our code upgradable so we use a hook.
This is the AL code in your hook.
In text:
LOCAL AddPrimaryKeyToFilterForPerformanceBoost(VAR RecRef : RecordRef;RecordID : RecordID)
FirstPartOfView := RecRefForKey.GETVIEW;
FirstPartOfView := COPYSTR(FirstPartOfView, 1, STRPOS(FirstPartOfView, ‘WHERE(‘) + 5);
KeyView := RecRefForKey.GETVIEW;
KeyView := COPYSTR(KeyView, STRPOS(KeyView, ‘WHERE(‘) + 6, STRLEN(KeyView));
KeyView := COPYSTR(KeyView, 1, STRLEN(KeyView) – 1);
View := RecRef.GETVIEW;
View := COPYSTR(View, STRPOS(View, ‘WHERE(‘) + 6, STRLEN(View));
View := COPYSTR(View, 1, STRLEN(View) – 1);
RecRef.SETVIEW(FirstPartOfView + View + ‘,’ + KeyView + ‘)’);
I’m not sure if this will work always and I don’t consider myself  a mathematical programmer. But for me it did the trick.
Simply call this function like this
People who took my classes will regognise my self-explaining documentation style.😉
This should be reported to Microsoft and hopefully this is “automagically” done by me blogging this. Microsoft seems to closely watch me at the moment.


Posted in Dynamics NAV | 3 Comments

NAVUG Summit 2016 | Where to find me

Directions US (Sorry, Soren NA) is a wrap and for what I can follow via Twitter it was a great show, even if you don’t like all the messaging (like me) Microsoft did a great job in NAV 2017 and Dynamics 365 looks very promising.

Continue reading

Posted in Conferences, Dynamics NAV, NAVUG, Product News | Leave a comment

NAVUG Summit 2016 | Who Is NAV-Girl

If one thing is true about working in IT, it is the wrong balance between the sexes. If I look at all the classes I’ve been teaching in the last two years I had classes with up to 20 guys, no girls.

So what do you do in an ecosystem like that to draw attention on Social Media? For Dynamics NAV we have NAV Girl on Twitter.


But who is she?

This is something I’ve been meaning to figure out for a while. The account has over 1000 followers but who are we following? And why?

I first got suspicious when I started to attend NAVUG. Until then I was naive enough to think I would actually meet her.

So what do we know?

According to her profile she is from the MidWest of the USA and she also discusses beer from that area.


She must be somehow related to NAVUG and North America.

So lets make a quiz

The poll will be open for two weeks. Let’s see what we get.




Posted in Dynamics NAV, NAVUG | Tagged | 2 Comments

My Directions USA Schedule | If I were going…

For me, not being at Directions USA is like missing my daughters birthday. It’s awfull. But since my youngest daughter actually will turn 8 next Monday I had to choose which, yes you can guess, was an easy choice.

The fact that I won’t be there does not mean it’s not on the top of my mind and I actually made a schedule that I would use if I would have been there. So here we go. These would be my highlights:

Continue reading

Posted in Dynamics NAV | Leave a comment

Grab Your Power License | Create Table 1

Small changes that makes a big difference seems to be the slogan for NAV2017.

One of these small changes that have been asked for a long time is to make it easier for partners to upgrade their customers by allowing us to add/remove fields and objects within the Microsoft number ranges which are 1..49999.

This has been a restriction for three decades.

Great News!!!

Continue reading

Posted in Dynamics NAV | 1 Comment

Why SQL Server 2016 Management Studio Understands Navision

I spend a lot of my time in SQL Server Management Studio. I rarely ever run tables anymore from Object Desingner and run most of my data conversions directly in T-SQL.

Why? Because it is so much faster, I can script things, save and restore scripts, share accross customers etc.

One of the pain points of working with SQL Server Queries has Always been the full companyname in front of the real table name. For this reason Intellisense was more or less useless for NAV databases.

This is fixed in SSMS 2016!

When you type

select * from Custom

SQL Server Management Studio will show this


How cool is that!

You can download SSMS 2016 for free here



Posted in Dynamics NAV, Product News, Tips and Tricks | 1 Comment