Page customization object
The page customization object in Business Central allows you to add changes to the layout and actions on page that are accessible for a profile. The page customization object has more restrictions than the page extension object; when you define a new page customization object, you can't add variables, procedures, or triggers. You can add actions, fields, and groups to the page customization object.
Learn how to use specific keywords to change the page customization layout in Using keywords to place actions and controls.
Note
A single page customization can be used with multiple profiles within the same extension. Page customizations only apply to the RoleCenters they're specified for. In order to view or changes the RoleCenters in the client, go to My Settings, and then choose Role Center.
Note
Extension objects can have a name with a maximum length of 30 characters.
Note
Modifying actions in Cue groups on page extensions isn't supported.
Note
The property allowDebugging
, which is a setting under resourceExposurePolicy
doesn't apply to page customizations. Page customizations defined in an extension with allowDebugging
set to false
can still be copied using Designer. Learn more in Resource exposure policy setting.
Snippet support
Typing the shortcut tpagecust
creates the basic layout for a page customization object when using the AL Language extension for Microsoft Dynamics 365 Business Central in Visual Studio Code.
Tip
Use Ctrl+Space to trigger IntelliSense and get assistance on code completion, parameter info, quick info, and member lists. For more information about snippets, see Syntax and snippets.
Views
Views in Business Central are used on list pages to define a different view of the data on a given page. Views can be defined for Pages, Page Extensions, and Page Customizations. Learn more in Views.
Page customization example
The following page customization example MyCustomization
makes changes to Customer List. By using the moveafter
method, Blanket Orders
is moved after the Orders
action item. And the modify
method is used to hide the NewSalesBlanketOrder
action item.
profile TheBoss
{
Description = 'The Boss';
RoleCenter = "Business Manager Role Center";
Customizations = MyCustomization;
Caption = 'Boss';
}
pagecustomization MyCustomization customizes "Customer List"
{
actions
{
moveafter(Orders; "Blanket Orders")
modify(NewSalesBlanketOrder)
{
Visible = false;
}
}
}
You can use the same page customization on another profile within the same extension package by referencing its name from the profile definition, for example:
profile TheSalesman
{
ProfileDescription = 'The Boss';
RoleCenter = "Sales Manager Role Center";
Customizations = MyCustomization;
Caption = 'Salesman';
}
Adding groups and page fields based on table fields
APPLIES TO: Business Central 2023 release wave 2 (version 23) and later
You can add groups and page fields using a table field as source expression in page customizations as illustrated in the following example.
pagecustomization MyPageCust customizes MyPage
{
layout
{
addfirst(Content)
{
field(MyPageCustField; Rec.MyTableField) {...}
}
}
}
To specify if a table field can be used as a source expression for page fields that are created in page customizations, use the AllowInCustomizations. The default behavior is that a table field can be used in such a way.
Related information
Developing extensions
AL development environment
Page object
Page extension object
Views
Page, page fields, and page extension properties
AllowInCustomizations