Profile object

The profile object in Dynamics 365 Business Central allows you to build an individual experience for each user profile. The Profile object performs a validation to check whether the specified role center page exists, and page customization objects exists, when you define a new profile object. On a page customization you can add changes to the page layout, and actions; but you cannot add variables, procedures, or triggers.

Note

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

Note

Extension objects can have a name with a maximum length of 30 characters.

Note

The property allowDebugging, which is a setting under resourceExposurePolicy does not 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 tprofile will create the basic layout for a profile 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.

Profile example

The following profile object example creates a profile for the MyRoleCenter Role Center, which is available in the Role Explorer in the UI and available to end-users. The profile also depends on the customization MyCustomization and modifies the layout of the Customer List to make the Name field invisible using the modify method. For more information, see Profile Properties.

profile MyProfile
{ 
    Description = 'Some internal comment that only the Dev can see'; 
    Caption = 'My User-friendly Name'; 
    ProfileDescription = 'A detailed description of who is this profile for, why/how to use it (etc)'; 
    RoleCenter = MyRoleCenter; 
    Enabled = true; 
    Promoted = true; 
    Customizations = MyCustomization;
} 

pagecustomization MyCustomization customizes "Customer List"
{
    layout
    {
        modify(Name)
        {
            Visible = false;
        }
    }
}

See Also

AL Development Environment
Developing Extensions
Pages Overview
Page Customization Object