I want to see if I'm understanding the rules for Business Central Object ID Ranges. If I needed to create an extension that only affects one of our customers, I would use id's from range: 50,000 to 99,999. These id's do not need to be reserved, as the extension only exists at the one customer? Also, these id's would be free of charge? Indeed, if I wanted to, I could re-use the same id's for another customer extension as it too would only exist at the particular customer. Is this correct?
It is only if you were going to write an extension that is intended to be installed at multiple customers (via an App-Store / AppSource) that a different range would be required. I'm guessing this category would either fall into the 1,000,000 to 69,999,999 (RSP) range or the 70,000,000 to 74,999,999 (BC Apps) range. I'm not sure of the difference between these two?
Thanks for your response.
How does one go about obtaining an onpremise object license for 20 Codeunits from 50000 to 50019?
How can I use a developers license if there's already a live onpremise license in place?
Hi Nick.
This is free for cloud instance but needs object license for onpremise.
Also, use developers license for you to publish the objects.
Regards,
JR
Objects are added to the license specific to the type and numbers, so it is totally possible to have a license where you have permission to add table 50000 but not codeunit 50000. Check the detailed license permissions report, it will tell you exactly what is in the license.
And would this apply to Codeunits only, or all object types? I'm only having an issue with Codeunits.
For SaaS, 50000-99999 is 'free' meaning you can use any object number for any object type in that range for any 'PTE' app. For on premises, at least what I understand (I'm not involved in ordering licenses so I'm not really sure), you still need to get the objects into the customer's license. There are a lot of discussions ongoing with Microsoft about also allowing all of the 50-99K range to be used for on premises but I don't know where that discussion stands today.
This is just a customisation of a single installation, so the ID's are in the 50,000-99,999 range. This has always worked in the past but for this particular instance I'm getting: 'failed with code 422. Reason: Your program license does not allow you to publish <my-codeunit-name>'. I can deploy other object types OK (pages, tables, pageextensions etc...) but not codeunits? Any thoughts on why?
Here's the official word:
docs.microsoft.com/.../devenv-object-ranges
The difference between the RSP range and the AppSource range is that the first is available for on premises as well. When you register with Microsoft to create an app, you have to declare if you intend to be on AppSource only or if you also want to be available for on premises. If you want to go AppSource only, they will assign a number range in the 70M range, and if you intend to also make your product available on premises, they assign the 1M-69.999M range.
Did you manage to shed any light on this one?
All I can suggest is to contact your Microsoft partner, as somebody earlier in this thread did. I'd be interested if you manage to shed any light on it.
Thanks Nick
I was aware the ID's were object specific. I have these codeunits in one extension
50000
50003
50004
50006
50010
If I change 50000 to 50007 I get "failed with code 422. Reason: Your program license does not allow you to publish 'TestPageCodeUnit'".
in object explorer, I see no other codeunits using that ID
Very puzzling