Announcements
I have written a couple of extensions for an OnPrem environment but I can't get it work because the custom pages/tables
do not show up in the system when I search them but the extensions would have deployed successfully.
I have tested this on multiple versions but same thing.
During development, using the Demo License (Cronus) I can develop my extensions and they work well, but when I push them to a live
OnPrem environment, they just don't work.
Reading through the forums, I have tried making sure "Application Area = All" is on all objects, but it did not work. Another thing I suspect is Licensing,
of which I tried adding more objects to the license to cover the number of objects I'm making use of but it didn't change.
Below is my license for one of the environments:
I even tried creating a minimal extension, 1 table, 2 pages (List & Card) but nothing still.
Is there something I'm missing? How can I make my extensions work.
Any suggestions are welcome.
Hi, just adding some info.
Please note that with the update to the Universal code initiative, On-Pre's licensing policy has changed.
More details: Dynamics 365 Business Central Universal code initiative
Hope this helps.
Thanks.
ZHU
Please see if this can help you if you are a partner:
navnilesh.blogspot.com/.../configure-customer-licence-in-dynamics.html
If you are not a partner you need to contact your partner to have them assign the objects to your license.
Hi ZHU, we want to assign but Igne says you must do this through MBS partner center. Can you guide me in doing the same.
Hello Inge, could you guide me on how to do the assignment in the MBS partner center or PSBC.
Thank you.
Hi, Igne is right, you need to assign your license range in the license, which is the same as NAV. If you do not assign it, the user cannot see these custom objects by customer license. If you don't know how, this requires contacting your Partner.
Hope this helps as well.
Thanks.
ZHU
hi,
If you have essential license, then you have 10 tables 100 pages 100 reports
In permission set. If table has all permission like insert modify and delete
That tables are in your license and you should develop in that range only
Regards
Amit Sharma
I pulled the following from the Permission Range table:
Object type: Table
From: 50010 - 99999
Object type: Table Data
From: 50000 - 50009
Does this mean I can create tables in the 50010 - 99999 range but won't have permissions to Insert Table Data in them since there's no overlap?
This is all a bit confusing
Hi,
Use the below extension to find the Object Permission in License.
page 50003 "Permission Range"
{
ApplicationArea = All;
Caption = 'Permission Range';
PageType = List;
SourceTable = "Permission Range";
UsageCategory = Administration;
layout
{
area(content)
{
repeater(General)
{
field("Delete Permission"; Rec."Delete Permission")
{
ApplicationArea = All;
ToolTip = 'Specifies the value of the Delete Permission field.';
}
field("Execute Permission"; Rec."Execute Permission")
{
ApplicationArea = All;
ToolTip = 'Specifies the value of the Execute Permission field.';
}
field(From; Rec.From)
{
ApplicationArea = All;
ToolTip = 'Specifies the value of the From field.';
}
field(Index; Rec.Index)
{
ApplicationArea = All;
ToolTip = 'Specifies the value of the Index field.';
}
field("Insert Permission"; Rec."Insert Permission")
{
ApplicationArea = All;
ToolTip = 'Specifies the value of the Insert Permission field.';
}
field("Limited Usage Permission"; Rec."Limited Usage Permission")
{
ApplicationArea = All;
ToolTip = 'Specifies the value of the Limited Usage Permission field.';
}
field("Modify Permission"; Rec."Modify Permission")
{
ApplicationArea = All;
ToolTip = 'Specifies the value of the Modify Permission field.';
}
field("Object Type"; Rec."Object Type")
{
ApplicationArea = All;
ToolTip = 'Specifies the value of the Object Type field.';
}
field("Read Permission"; Rec."Read Permission")
{
ApplicationArea = All;
ToolTip = 'Specifies the value of the Read Permission field.';
}
field(SystemCreatedAt; Rec.SystemCreatedAt)
{
ApplicationArea = All;
ToolTip = 'Specifies the value of the SystemCreatedAt field.';
}
field(SystemCreatedBy; Rec.SystemCreatedBy)
{
ApplicationArea = All;
ToolTip = 'Specifies the value of the SystemCreatedBy field.';
}
field(SystemId; Rec.SystemId)
{
ApplicationArea = All;
ToolTip = 'Specifies the value of the SystemId field.';
}
field(SystemModifiedAt; Rec.SystemModifiedAt)
{
ApplicationArea = All;
ToolTip = 'Specifies the value of the SystemModifiedAt field.';
}
field(SystemModifiedBy; Rec.SystemModifiedBy)
{
ApplicationArea = All;
ToolTip = 'Specifies the value of the SystemModifiedBy field.';
}
field("To"; Rec."To")
{
ApplicationArea = All;
ToolTip = 'Specifies the value of the To field.';
}
}
}
}
}
Hi,
I have checked your extension and publish on my local system. It is working fine. Please check License file . Also check these extension with Dev. license, if you have. Otherwise, pls contact your partner for this issue.
Regards
Amit Sharma
Press Yes if info is useful.
Remember that it is not sufficient only to have enough objects available in your license. The object range you use also needs to be assigned to your license. If you are a partner you do that assignment in the MBS partner center, if you are an end-user your license partner needs to do that assignment for you.
André Arnaud de Cal...
294,097
Super User 2025 Season 1
Martin Dráb
232,866
Most Valuable Professional
nmaenpaa
101,158
Moderator