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. See Using keywords to place actions and controls for how to place actions and controls on a page customization object.

The page customization object has more restrictions than the page extension object; when you define a new page customization object, you cannot add variables, procedures, or triggers.

Note

A single page customization can be used with multiple profiles within the same extension. Page customizations only apply to the RoleCenters they are 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 is not 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 Use Designer. For more information, see 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 Customization. For more information, see 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 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. Default is that a table field can be used in such a way.

See Also

Developing Extensions
AL Development Environment
Page Object
Page Extension Object
Views
Page, Page Fields, and Page Extension Properties
AllowInCustomizations