Promoted Actions - Business Central (2023)

  • Article
  • 8 minutes to read

You can promote actions that are used more often than others and thereby ensure quick access to them. This type of actions is called promoted actions. Promoted actions are set up on the Actions, Navigate, or Report menus in the action bar, but are also configured to display on the Home tab. You can, however, choose to hide them on the Actions, Navigate, or Report menus and only show them on the Home tab.

Promoted actions can be used on Card, Document, List, ListPlus, and Worksheet pages to provide quick access to common tasks that appear under the Home tab.

APPLIES TO: Business Central 2022 release wave 2 and later

With Business Central 2022 release wave 2, the way that you promote actions on pages or page extensions has changed. Promoting actions is defined in a specific section of the code for a page and it contains a reference to the action. The new syntax provides more visibility in code, because the promoted actions are grouped in a separate section. And to the end user, the personalization experience is improved, adding options for promoting actions.

(Video) Get a promotion with the Modern Action Bar in AL and Business Central

In Business Central the new action bar is enabled when the feature flag Modern Action Bar on the Feature Management page is set to Enabled. The flag can be switched off to simulate legacy behavior, but the promoted action code in the base application uses the actionref syntax.

Note

The legacy syntax for defining promoted actions is still supported in releases going forward, but it's recommended to implement the new syntax.

Note

(Video) Action in Business Central | Page actions in business central | action menu in BC with example trend

Removing the Promoted property on a published action is considered a breaking change. For more information, see AppSourceCop Error AS0031 and UICop Warning AW0013.

To define promoted actions, you specify an area(Promoted) in the actions section of a page or a page extension. Inside the area(Promoted) section, you can specify one or more actionref sections. An actionref is an object type that references an action on the page, and by adding it in the promoted area section it's promoted in the UI. An actionref can only be defined in the area(Promoted) section. You can either create groups in the area(Promoted) for the actionref references, or you can add actionref sections directly. An actionref inherits the properties of the referenced action. For page extensions, you can add to existing groups and you can add new groups.

For more information about behavioral changes introduced with the new action bar, see Behavioral Changes for Promoted Actions.

Split buttons for actions

As part of the new programming model for promoted actions, you can combine multiple actions into a split button to help organize the actions that you're promoting, thereby reducing clutter and improving coherence and closeness of related actions. A split button can be defined for a page action group, which renders as a combination of a button and a menu. Use the ShowAs property to specify that a certain page action group should render as a split button. For more information, see ShowAs Property.

Syntax example

This example illustrates a page with the promoted area syntax. In the example the area(Processing) section defines the MyBaseAction action for the page, which triggers a Hello world message. The MyBaseAction will be available from under the Processing group in the action bar and it will be promoted because it's added to the area(Promoted) section, which defines the actions to promote. The example illustrates that you can group your actionref sections, or specify them ungrouped. The actionref(MyPromotedActionRef; MyBaseAction) promotes the defined MyBaseAction so that it, in addition to being placed in the Processing group, also is promoted for easy access on the page.. Also, the example illustrates using a split button for Group2 where two actionrefs

page 50105 ActionRefPage{ actions { area(Promoted) { actionref(MyPromotedActionRef; MyBaseAction) { } group(Group1) { actionref(MySecondPromotedActionRef; MyBaseAction) { } } group(Group2) { ShowAs = SplitButton; actionref(MySplitButtonPromotedActionRef; MyBaseAction) { } actionref(MyOtherSplitButtonPromotedActionRef; MyBaseAction) { } } } area(Processing) { action(MyBaseAction) { Visible = true; trigger OnAction() begin Message('Hello world!'); end; } } }}

Extensibility and compatibility

Switching over to use the new promoted actions syntax can be done gradually as legacy and new syntax will co-exist for a while. We do, however, encourage you to switch over as soon as you can. As you refactor the code, there are a couple of things to be aware of in that process:

(Video) Reporting action in business central | actions in bc | bc and al video tutorial |

  • It's not allowed to use both legacy and new syntax for promoted actions on the same page or page extension. This means that if you add actionref syntax to your code, the Promoted properties (Promoted, PromotedOnly, PromotedActionCategories, and PromotedCategory) won't be allowed.
  • Across a project you can mix legacy and new syntax and:
    • You can implement the new actionref syntax on a page without breaking any existing page extensions.
    • You can write a page extension with the new actionref syntax based on a page that uses the legacy syntax.

A code action for converting pages using legacy syntax is available with Business Central 2022 release wave 2. The code action can be applied to a narrow or broader scope of code. For more information, see AL Code Actions.

Promoting actions by category (legacy syntax)

Note

The following section describes the former way of defining promoted actions for Business Central. It's recommended to switch to the actionref syntax for defining promoted actions.

You can promote any command from the existing actions menus to the ribbon. If there are no promoted actions, the ribbon remains hidden. To promote an action on the Home tab, you set the Promoted property of the action. If you want to display the action only on the Home tab, then you add an extra step to set the PromotedOnly property. For more information, see Promoted Property and PromotedOnly Property.

Promoted actions can be grouped. You can add promoted actions by different grouped categories. Typically, promoted actions are displayed in the ribbon of a page. You can organize promoted actions into different categories, where each category is indicated by a caption in the ribbon. You define up to 10 categories for a page. The following figure illustrates a page that has promoted actions under the following categories.

(Video) 20230220 - Business Central's user interface is changing - align your app

  • New Document
  • Request Approval
  • Customer

Promoted Actions - Business Central (1)

You assign a promoted action to a category by setting the PromotedCategory property of the action. By default, these category names correspond to the captions that are displayed for the category on the page in Dynamics 365 Business Central. You'll typically want to change the captions, especially the Category4 through Category10 captions. See the table below for the default PromotedCategory values. To change the default captions, set the PromotedActionCategories property.You type the values of the PromotedActionCategories where each caption is separated with a comma as shown below:

PromotedActionCategories = 'New_caption,Process_caption,report_caption,category4_caption,category5_caption,category6_caption,category7_caption,category8_caption,category9_caption,category10_caption';

The position of the caption in the list determines its corresponding category setting in the PromotedCategory property for the actions as described in the table below.

PromotedActionCategories caption positionDefault PromotedCategory valuesExample
FirstNewNew_caption
SecondProcessProcess_caption
ThirdReportReport_caption
FourthCategory4Category4_caption
FifthCategory5Category5_caption
SixthCategory6Category6_caption
SeventhCategory7Category7_caption
EighthCategory8Category8_caption
NinthCategory9Category9_caption
TenthCategory10Category10_caption

You can change category captions on a page-by-page basis and for each Dynamics 365 Business Central Windows client language.

For more information about these properties, see PromotedCategory Property and PromotedActionCategories Property.

Each promoted action has an icon associated with it. You can accept a default icon, or choose your own from the Dynamics 365 Business Central image library by using the Image property, where each promoted action has an icon associated with it. Also, you can use a larger icon that makes it more prominent to the user by using the PromotedIsBig property. For more information, see Image Property and PromotedIsBig Property.

(Video) Build and Deploy an Extension in Dynamics 365 Business Central

Example

The example shows how to promote actions on a Customers page using different properties:

  1. The actions in the example are promoted to display in the New Document, Request Approval and Customer groups on the Home tab.
  2. The Sales Quote and Sales Invoice actions are promoted to the ribbon and grouped in a category called New Document.
  3. The PromotedCategory value; Category5 corresponds the caption position in the PromotedActionCateogories value with the New Document caption.
  4. Each promoted action in the example is assigned to a unique icon. Additionally, to display bigger icons, the Sales Quote and Contact actions are set with the PromotedIsBig property.
  5. The Sales Quote and Send Approval Request actions are set to appear only on the Home tab.
page 50103 Customers{ PageType = Card; SourceTable = Customer; PromotedActionCategories = 'New,Process,Report,Manage,New Document,Request Approval,Customer,Page'; actions { area(Creation) { action("Sales Quote") { Promoted = true; PromotedCategory = Category5; // PromotedActionCategories = New Document PromotedOnly = true; PromotedIsBig = true; Image = NewSalesQuote; ApplicationArea = All; trigger OnAction() begin Message('Create sales quote'); end; } action("Sales Invoice") { Promoted = true; PromotedCategory = Category5; // PromotedActionCategories = New Document Image = SalesInvoice; ApplicationArea = All; trigger OnAction() begin end; } } area(Processing) { action("Send Approval Request") { Promoted = true; PromotedOnly = true; PromotedCategory = Category6; // PromotedActionCategories = Request Approval Image = SendApprovalRequest; ApplicationArea = All; trigger OnAction() begin end; } action("Cancel Approval Request") { Promoted = true; PromotedCategory = Category6; // PromotedActionCategories = Request Approval Image = CancelApprovalRequest; ApplicationArea = All; trigger OnAction() begin end; } } area(Navigation) { action(Contact) { Promoted = true; PromotedCategory = Category7; // PromotedActionCategories = Customer PromotedIsBig = true; Image = CustomerContact; ApplicationArea = All; trigger OnAction() begin end; } action("Account Details") { Promoted = true; PromotedCategory = Category7; // PromotedActionCategories = Customer Image = Account; ApplicationArea = All; trigger OnAction() begin end; } } }}

For more examples of how to use actions, see Page Object and Page Extension Object.

See Also

Actions Overview
Adding Actions to a Page
Behavioral Changes for Promoted Actions
Actions in AL
Adding Actions to a Page
Actions in the User Interface
How to Promote Actions
Organizing Promoted Actions
Common Promoted Action Groups
Action Bar Improvements

Videos

1. Export files from BC to local space using AL programming | XMLPort | Microsoft Dynamic 365 BC
(goms tech talks)
2. setrange and setfilter method in business central | filter functions in business central|bc tutorial
(goms tech talks)
3. BC TechDays 2022 - What's new in Business Central clients for AL developers
(mibuso.com)
4. Improve your AL standard with StandardDialog in Business Central
(Erik Hougaard)
5. What's New and Exciting in Business Central 2022 Release Wave 2
(Innovia Consulting)
6. Property add after add before In Business Central 365
(Once More BC Study)
Top Articles
Latest Posts
Article information

Author: Fr. Dewey Fisher

Last Updated: 04/24/2023

Views: 5669

Rating: 4.1 / 5 (62 voted)

Reviews: 93% of readers found this page helpful

Author information

Name: Fr. Dewey Fisher

Birthday: 1993-03-26

Address: 917 Hyun Views, Rogahnmouth, KY 91013-8827

Phone: +5938540192553

Job: Administration Developer

Hobby: Embroidery, Horseback riding, Juggling, Urban exploration, Skiing, Cycling, Handball

Introduction: My name is Fr. Dewey Fisher, I am a powerful, open, faithful, combative, spotless, faithful, fair person who loves writing and wants to share my knowledge and understanding with you.