Inside NAV 2017 | Improvement comes with a price

You can’t have everything. Wise men have said this many centuries ago. There is no such thing as absolutely perfect.

NAV2017 is a fantastic release and blogpost after blogpost after blogpost you can read everyone is happy and agrees on this.

With NAV2017 Microsoft started to improve the core product again rather than attaching new features at the edges. This is new, it has not happened for years, or maybe centuries.

The recent blog post done by Olof Simren is a proof of this. I don’t understand why this guy is not an MVP yet. We need more bloggers with interest in the functional application.

Dynamics 365

Honesty forces me to admit that I think most of these improvements have been made to allow NAV to be successful with its alter-ego, Dynamics 365 Financials. Microsoft did great effort in simplifying the application and making the core more complete.

This has been something that Partner Account managers within Microsoft have been requesting for a long time. When you talk at old timers in our ecosystem many have made “products” that actually improved the core system rather than actually making it work for a specific niche vertical.

New partners don’t have these “products” and find it hard to sell NAV out of the box. This will change with NAV2017 and I bet Microsoft won’t stop here and will continuously improve the out-of-the-box experience.

This is great!

The price to pay

We have to pay a price for this. Microsoft is overhauling pages and code routines that have not been touched for years, optimizing it for what modern users expect.

“Statistics Pages” have become an anti-pattern.

One example is the fact that “Statistics Pages” have become an anti-pattern. This used to be mandatory when I grew up with the product. Now all FlowFields are either directly on card and document pages or on fact boxes.

Another example is the good old Format Address codeunit. For the first time in 20-odd years Microsoft has changed the signature of a function in this guy.

It is easily illustrated by importing the NAV2016 sales invoice in a NAV2017 database. You’ll get this error message.


The array dimensions must be identical.

Why is this?

The function now checks if the address is different from the billing address.


Could this have been avoided?

I hate to be the smart-ass dinosaur here but I cannot help thinking if there is no other way around this. Microsoft is now actually forcing 130.000 customers to change at least 4 reports during the upgrade. This means they broke over half a million reports across the globe. Let’s say it takes 15 minutes per report which is over 100.000 hours which equals to an investment of over 10 million USD.

So let’s see if we can make 10 million bucks with one smart function.

What about this?


Adding Global Variables?

Another funny detail is that “I” is a global variable. Now I have to admit I don’t know much about computer programming but is that really good?

Prepare for a rough upgrade

Waldo already illustrates it on his blog. Upgrading from NAV2016 to NAV2017 is not a lunch upgrade. This is a price we have to pay I guess, but honestly I think that spending a few minutes more some headaches could have been avoided.


This blog is written to be informative, not to complain. NAV 2017 is one of the best releases of Navision ever and our future is awesome.

This entry was posted in Dynamics NAV. Bookmark the permalink.

2 Responses to Inside NAV 2017 | Improvement comes with a price

  1. davmac1 says:

    “our future is awesome” – are you confusing NAV with the Lego movie? 🙂
    BTW – I do think Microsoft forgets that whatever they require us to do gets multiplied by 10,000 to 100,000 times.

    Liked by 2 people

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s