The SQL Authentication return with NAV 2016.

As you know, in previous NAV versions (3-tier) you can access the system by using 4 different authentication types:

  • Windows
  • UserName
  • NavUserPassword
  • AccessControlService

A thing that I think is passed under the hood in these days is that now NAV 2016 supports also the SQL Authentication.

Configuration for this authentication type is a bit tricky but you can find all the details here.

An idea/suggestion: NAV Windows Client via Azure RemoteApp

This is an idea that’s rolling on my mind from a lot of time… Why Microsoft not provides a deploy of the NAV Windows Client via Azure RemoteApp?

Azure RemoteApp is a wonderful service provided by the Azure platform that permits you to run Windows applications “as a service” and permits to access the published app anywhere and on any platform.

In these days for example I’ve played with RemoteApp and IE11 (Microsoft has published it on Azure) and I was able to run IE11 on my MacBook exactly as I was on my Windows machine.

Having the NAV Windows Client published as a RemoteApp on Azure will permit everyone to have a “cross platform” NAV desktop client. You could for example turn on your Mac, join the RemoteApp session, start the NAV Windows client and run it on Mac OS exactly like on Windows.

Sounds interesting? For me a lot…

NAV 2016 and TryFunctions: epic fail?

When I was at Directions EMEA some weeks ago and for the first time I saw a brief explanation on how the new NAV 2016 TryFunctions works, I was a bit surprised: if an error occours inside a TryFunction function, the transaction is not rolled back!!! What a monster!!

My first think: “this cannot be true, there’s a rule that says that transactions must always be consistent. I’m sure I’ll not well understood all… I’ve to read more about them!“.

But now?

Unfortunately, all was true! 😦 this post has cleared my mind definitively.

Microsoft itself inside NAV 2016 uses a trick to prevent transaction inconsistency due to a TryFunction errors by using the new C/AL function CONSISTENT:

In summary, the record is marked as inconsistent as default, and it becomes consistent ONLY if the TryFunction works without errors. For me this is so bad…

I’m sorry to say that but I think that actually the new TryFunctions can be used only to handle errors when you don’t have to work with records (for example when you work with .NET variables or others). Never use them when you have to work with records!!

Transaction consistency is a must and the actual TryFunction implementation is for me incomplete or at least is a great door opened for errors… Not good!

Hey NAV Team, why not review the implementation on a future NAV 2016R2?

Microsoft Dynamics NAV 201X: my desiderata…

NAV 2016 was launched 5 days ago and it’s really an exciting release. Microsoft has lots and lots of plans on NAV (in the past days we had the pleasure to talk about that with the Dev Team) and you could be sure that in the next years you will see a really more powerful platform.

So, why not writing a brief note about my desiderata for NAV 201X? Maybe someone of the NAV Team a day will listen to me… 🙂

This is what I would like to see in a next release (not too much long in time please):

  • C/AL editor and Object Designer integrated into Visual Studio.
  • Dynamic object creation in code, exactly like create a class in C#
  • Overload of functions in C/AL: I want the possibility to write 2 functions with the same name but different parameters.
  • New C/AL functions that can be launched in async mode
  • A real multitasking Windows Client: I want to have a long running process in progress (like a ProcessingOnly report) and then continue to do other things on NAV without problems.
  • Offline capabilities on the phone and tablet client
  • Native Source control

Will it be possible? 🙂

NAV 2016: please forgot the C/AL array :)

One of the hidden new feature of NAV 2016 and C/AL language is the possibility to loop on a .NET variable.

You can declare a variable like:

mylist : DotNet System.Collections.Generic.List

and loop through the element in this way:

FOREACH item IN mylist DO
BEGIN
  MESSAGE(item);
END;

You can use all the power of .NET objects in a native way now. Standard arrays are dead for me 😉

NAV 2016 is here…

Just few words directly from Germany to announce you that from today Microsoft Dynamics NAV 2016 is available for production.

Don’t loose it because it’s really an exciting release:

Works on every platform: 

Really enhanced web client: 

A brand new phone client and universal apps: 

A totally integrated and customizable workflow engine: 

A new integration with Power BI via a feature pack ready to use: 

and many many other features like Extensions, new C/AL editor, OCR, posting preview, e-invoicing etc.

Simply amazing!