Page Extension Vs Page Customization in Business Central

Page Extension Vs Page Customization in Business Central

I want to point out the differences between the Page Extension and Page Customization Objects, sometimes the Customization Object, although more limited in functionality, may be sufficient for some customizations.

#1 – Page Customization Object

The page customization object in Dynamics 365 Business Central allows you to add changes to the page layout and actions. 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

Page customizations only apply to the RoleCenter they are specified for. In order to see them, in Dynamics 365 Business Central under My SettingsRole Center change to the specific RoleCenter that a page customization is defined for.

Page customization example

The following page customization example MyCustomization makes changes to Customer List. By using the moveafter method, Blanket Orders is moved next to the Aged Accounts Receivable action item. And the modify method is used to hide the NewSalesBlanketOrder action item.

Example

profile TheBoss

{

Description = ‘The Boss’;

RoleCenter = “Business Manager”;

Customizations = MyCustomization;

}

pagecustomization MyCustomization customizes “Customer List”

{

actions

{

moveafter(“Blanket Orders”; “Aged Accounts Receivable”)

modify(NewSalesBlanketOrder)

{

Visible = false;

}

}

}

https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-page-customization-object

#2 – Page Extension Object

The page extension object extends a Dynamics 365 Business Central page object and adds or overrides the functionality.

The structure of a page is hierarchical and breaks down into three sections. The first block contains metadata for the overall page; the type of the page and the source table it is showing data from. The next section; the layout, describes the visual parts on the page. The final section details the actions.

Example

pageextension 50110 CustomerCardExtension extends “Customer Card”

{

layout

{

addlast(General)

{

// control with underlying datasource

field(“Shoe Size”; ShoeSize)

{

ApplicationArea = All;

Caption = ‘ShoeSize’;

trigger OnValidate();

begin

if ShoeSize < 10 then

Error(‘Feet too small’);

end;

}

// display-only control (without underlying datasource)

field(ShoesInStock; 10)

{

ApplicationArea = All;

Caption = ‘Shoes in stock’;

}

}

modify(“Address 2”)

{

Caption = ‘New Address 2’;

}

}

https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-page-ext-object

#3 – Best practices for designing pages

We recommend that you simplify the user experience by reducing what users see by default. You can promote the information that the users most frequently need to see and hide the less important information.

For example:

  • Place common tasks in the ribbon
  • Organize information pages under FastTabs and, by default, hide the FastTabs that are infrequently visited.
  • Use one to three FactBoxes on a page to provide supplementary information and a place for adding notes
  • Add a target Help file for context-sensitive Help for the feature that the page object supports

https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-pages-overview

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: