Stuff about installation and development in Microsoft Dynamics NAV and integrated products.
Developing extensions in Dynamics NAV, it is possible to add two extensions that are adding the same field numbers to a solution. No warnings are given, and it is not possible to get an overview of which object numbers or field numbers the other extensions are adding.
Let’s try an example:
Now I publish and install the extension together with a page extension:
In the Extension Management, it looks like this:
Nothing new about that.
Now, let’s try to install another extension with the same field number used:
Now I publish and install the extension together with another page extension:
It is possible to publish the extension and even install it in the tenant but starting the Windows client, I get the following error:
It is not possible to start the windows client again until I have uninstalled the extension through PowerShell:
In all the workshops I have conducted until now, I have been given the question:
”How do I see which object numbers and field numbers that are already used in the solution?”
I haven’t found any standard solution to this, so I made one myself:
Install two objects:
(And No, it is not possible to create as extension due to the tables I access.)
Run the page and it will generate detailed information on all apps that are published (installed or not):
Now you can filter for the desired table:
The object can be downloaded here:
Really useful Peik and totally needed, one point, you can make it an extension, just add "target": "Internal", to the app.json file and provided you don't want to publish to Dynamics365 but just a local NAV instance you can access these tables.
So what you are saying is that you can crash a running solution with multiple users with an extension upgrade with conflicting field numbers without getting a clue about why, what and where? No sanity check what so ever? So you could end up in a "needle in a haystack" scenario finding the conflicts and un-publishing the extension coursing the error is not an option?!
Yep, thats what I’m saying.