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:
Have fun [H]
Yep, this is a problem.
As far as I know the R2 release in spring will eliminate the numbering requirement, and it will only be based on the name. So adding a prexfix os suffix should be enough to never have conflicts with other extensions.
I see you are already working with extensions, and I would love to know your thoughts on this:
Imagine you have to develop an extension that is going to be used in 10,000 different Dynamics NAV customers. What characteristics would that extension have?
A blog post about this would be perfect .-)
I have also opened a discussion at mibuso:
Thanks a lot!
Yep, thats what I’m saying.
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?!
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.