November 2024 Cumulative Updates for Dynamics 365 Business Central

The November updates for Microsoft Dynamics 365 Business Central are now available.

Before applying the updates, you should confirm that your implementation is ready for the upgrade and ensure compatibility with your modifications. Work with a Microsoft Partner to determine if you are ready and what is needed for you to apply the update.

Please note that Online customers will automatically be upgraded to version 25.1 over the coming days/weeks and should receive an email notification when upgraded.

Direct links to the cumulative updates are listed here:

Dynamics 365 Business Central On-Premises 2024 Release Wave 2 – 25.1 (November 2024)

Dynamics 365 Business Central On-Premises 2024 Release Wave 1 – 24.7 (November 2024)

Dynamics 365 Business Central On-Premises 2023 Release Wave 2 – 23.13 (November 2024)

Dynamics 365 Business Central On-Premises 2023 Release Wave 1 Updates – 22.18 (October 2024)

Dynamics 365 Business Central On-Premises 2022 Release Wave 2 Updates – Update 21.18 (April 2024)

Dynamics 365 Business Central On-Premises 2022 Release Wave 1 Updates – Update 20.18 (October 2023)

Dynamics 365 Business Central On-Premises 2021 Release Wave 2 Updates – Update 19.18 (April 2023)

Dynamics 365 Business Central On-Premises 2021 Release Wave 1 Updates – Update 18.18 (October 2022)

Dynamics 365 Business Central On-Premises 2020 Release Wave 2 Updates – Update 17.17 (April 2022)

Dynamics 365 Business Central On-Premises 2020 Release Wave 1 Updates – Update 16.19 (January 2022)

Dynamics 365 Business Central On-Premises 2019 Release Wave 2 Updates – Update 15.17 (April 2021)

Dynamics 365 Business Central On-Premises Spring 2019 Updates – Update 52 (October 2023)

Dynamics 365 Business Central On-Premises October’18 Updates – Update 18 (April 2020)

Permanent link to this article: https://www.dvlprlife.com/2024/11/november-2024-cumulative-updates-for-dynamics-365-business-central/

Putting down the Tiles in Microsoft Dynamics 365 Business Central

When viewing a List Page in Microsoft Dynamics 365 Business Central, users can view the page in List or Tile view. The tile view shows records as tiles instead of rows. By default, the fields displayed in the Tile are the first five fields as defined on the list page.

Users can switch between the List and Tile views by selecting the View layout options icon in the action bar of the page. If tiles contain a media field, users can choose between Tiles and Tall Tiles. The same information is displayed in both views, except with tall tiles, images are displayed larger at the top of the tiles.

Developers can specify the data shown in the Tile view by adding a fieldgroup named ‘Brick.’ There’s no limit on the number of fields you can define in the fieldgroup. However, it is recommended that tiles be limited to five data fields and one image field. The following code shows an example of defining a Tile for a Table.

table 50100 Widget
{
    Caption = 'Widget';
    DataClassification = CustomerContent;

    fields
    {
        field(1; "No."; Code[20])
        {
            Caption = 'No.';
        }
        field(2; Description; Text[50])
        {
            Caption = 'Description';
        }
        field(3; "Description 2"; Text[50])
        {
            Caption = 'Description 2';
        }
        field(4; "Unit of Measure Code"; Code[10])
        {
            Caption = 'Unit of Measure Code';
            TableRelation = "Unit of Measure";
        }
        field(5; "Unit Price"; Decimal)
        {
            Caption = 'Unit Price';
        }
        field(6; "Color"; Code[10])
        {
            Caption = 'Color';
        }
        field(7; "Blocked"; Boolean)
        {
            Caption = 'Blocked';
        }
    }
    keys
    {
        key(PK; "No.")
        {
            Clustered = true;
        }
    }

    fieldgroups
    {
        fieldgroup(DropDown; "No.", "Description") { }
        fieldgroup(Brick; "No.", Description, "Unit of Measure Code", "Unit Price") { }
    }
}

When working with Tiles:

  • Field 1 appears in small font in its row of the Tile.
  • Fields 2 and 3 are shown in a large font and appear in the same row under primary field 1.
  • The remaining fields appear in rows of two.
  • A verbose field appears at the bottom of the Tile, separated by a line.
  • Tiles support the Style property and StyleExpr property as set on the page field control.

Read more about the Displaying Data as Tiles for Lists tiles here.

Note: The code and information discussed in this article are for informational and demonstration purposes only. This content was created referencing Microsoft Dynamics 365 Business Central 2024 Wave 2 online.

Permanent link to this article: https://www.dvlprlife.com/2024/10/putting-down-the-tiles-in-microsoft-dynamics-365-business-central/

October 2024 Cumulative Updates for Dynamics 365 Business Central

The October updates for Microsoft Dynamics 365 Business Central are now available.

This month also introduces the release of Microsoft Dynamics 365 Business Central 2024 Wave 2.

Before applying the updates, you should confirm that your implementation is ready for the upgrade and ensure compatibility with your modifications. Work with a Microsoft Partner to determine if you are ready and what is needed for you to apply the update.

Please note that Online customers will automatically be upgraded to version 25.0 over the coming days/weeks and should receive an email notification when upgraded.

Direct links to the cumulative updates are listed here:

Dynamics 365 Business Central On-Premises 2024 Release Wave 2 – 25.0 (October 2024)

Dynamics 365 Business Central On-Premises 2024 Release Wave 1 – 24.6 (October 2024)

Dynamics 365 Business Central On-Premises 2023 Release Wave 2 – 23.12 (October 2024)

Dynamics 365 Business Central On-Premises 2023 Release Wave 1 Updates – 22.18 (October 2024)

Dynamics 365 Business Central On-Premises 2022 Release Wave 2 Updates – Update 21.18 (April 2024)

Dynamics 365 Business Central On-Premises 2022 Release Wave 1 Updates – Update 20.18 (October 2023)

Dynamics 365 Business Central On-Premises 2021 Release Wave 2 Updates – Update 19.18 (April 2023)

Dynamics 365 Business Central On-Premises 2021 Release Wave 1 Updates – Update 18.18 (October 2022)

Dynamics 365 Business Central On-Premises 2020 Release Wave 2 Updates – Update 17.17 (April 2022)

Dynamics 365 Business Central On-Premises 2020 Release Wave 1 Updates – Update 16.19 (January 2022)

Dynamics 365 Business Central On-Premises 2019 Release Wave 2 Updates – Update 15.17 (April 2021)

Dynamics 365 Business Central On-Premises Spring 2019 Updates – Update 52 (October 2023)

Dynamics 365 Business Central On-Premises October’18 Updates – Update 18 (April 2020)

Permanent link to this article: https://www.dvlprlife.com/2024/10/october-2024-cumulative-updates-for-dynamics-365-business-central/

September 2024 Cumulative Updates for Dynamics 365 Business Central

The September updates for Microsoft Dynamics 365 Business Central are now available.

Before applying the updates, you should confirm that your implementation is ready for the upgrade and ensure compatibility with your modifications. Work with a Microsoft Partner to determine if you are ready and what is needed for you to apply the update.

Please note that Online customers will automatically be upgraded to version 24.5 over the coming days/weeks and should receive an email notification when upgraded.

Direct links to the cumulative updates are listed here:

Dynamics 365 Business Central On-Premises 2024 Release Wave 1 – 24.5 (September 2024)

Dynamics 365 Business Central On-Premises 2023 Release Wave 2 – 23.11 (September 2024)

Dynamics 365 Business Central On-Premises 2023 Release Wave 1 Updates – 22.17 (September 2024)

Dynamics 365 Business Central On-Premises 2022 Release Wave 2 Updates – Update 21.18 (April 2024)

Dynamics 365 Business Central On-Premises 2022 Release Wave 1 Updates – Update 20.18 (October 2023)

Dynamics 365 Business Central On-Premises 2021 Release Wave 2 Updates – Update 19.18 (April 2023)

Dynamics 365 Business Central On-Premises 2021 Release Wave 1 Updates – Update 18.18 (October 2022)

Dynamics 365 Business Central On-Premises 2020 Release Wave 2 Updates – Update 17.17 (April 2022)

Dynamics 365 Business Central On-Premises 2020 Release Wave 1 Updates – Update 16.19 (January 2022)

Dynamics 365 Business Central On-Premises 2019 Release Wave 2 Updates – Update 15.17 (April 2021)

Dynamics 365 Business Central On-Premises Spring 2019 Updates – Update 52 (October 2023)

Dynamics 365 Business Central On-Premises October’18 Updates – Update 18 (April 2020)

Permanent link to this article: https://www.dvlprlife.com/2024/09/september-2024-cumulative-updates-for-dynamics-365-business-central/

August 2024 Cumulative Updates for Dynamics 365 Business Central

The August updates for Microsoft Dynamics 365 Business Central are now available.

Before applying the updates, you should confirm that your implementation is ready for the upgrade and ensure compatibility with your modifications. Work with a Microsoft Partner to determine if you are ready and what is needed for you to apply the update.

Please note that Online customers will automatically be upgraded to version 24.4 over the coming days/weeks and should receive an email notification when upgraded.

Direct links to the cumulative updates are listed here:

Dynamics 365 Business Central On-Premises 2024 Release Wave 1 – 24.4 (August 2024)

Dynamics 365 Business Central On-Premises 2023 Release Wave 2 – 23.10 (August 2024)

Dynamics 365 Business Central On-Premises 2023 Release Wave 1 Updates – 22.16 (August 2024)

Dynamics 365 Business Central On-Premises 2022 Release Wave 2 Updates – Update 21.18 (April 2024)

Dynamics 365 Business Central On-Premises 2022 Release Wave 1 Updates – Update 20.18 (October 2023)

Dynamics 365 Business Central On-Premises 2021 Release Wave 2 Updates – Update 19.18 (April 2023)

Dynamics 365 Business Central On-Premises 2021 Release Wave 1 Updates – Update 18.18 (October 2022)

Dynamics 365 Business Central On-Premises 2020 Release Wave 2 Updates – Update 17.17 (April 2022)

Dynamics 365 Business Central On-Premises 2020 Release Wave 1 Updates – Update 16.19 (January 2022)

Dynamics 365 Business Central On-Premises 2019 Release Wave 2 Updates – Update 15.17 (April 2021)

Dynamics 365 Business Central On-Premises Spring 2019 Updates – Update 52 (October 2023)

Dynamics 365 Business Central On-Premises October’18 Updates – Update 18 (April 2020)

Permanent link to this article: https://www.dvlprlife.com/2024/08/august-2024-cumulative-updates-for-dynamics-365-business-central/

Microsoft Dynamics 365 Business Central: Decoding Dictionaries: Unlocking the Power of Key-Value Pairs

In the AL language for Microsoft Dynamics 365 Business Central, the Dictionary data type represents an unordered collection of keys and values optimized for fast lookup of values. In a Dictionary, each key is unique and is used to access its corresponding value. The dictionary data type allows you to store key-value pairs where there is a logical association between the pairs or when you need fast data retrieval based on a custom key. Unlike lists indexed by a range of numbers, dictionaries are indexed by keys.

It is important to note that every key in a Dictionary must be unique. A key cannot be null, but a value can be null when the value type is a reference type.

To create a new Dictionary that contains the same values as the original Dictionary, you perform a shallow copy by iterating through the keys of the original Dictionary and adding them to the new Dictionary.

The Dictionary data type does not support holding instantiated records. For this purpose, a developer should use a temporary table instead.

Add

Adds the specified key and value to the dictionary

 procedure AddDictionaryEntry(SalesDictionary: Dictionary of [Text, Decimal])
    begin
        SalesDictionary.Add('10000', 1234.56);
        SalesDictionary.Add('20000', 9564.22);
        SalesDictionary.Add('30000', 789.12);
        SalesDictionary.Add('40000', 456.78);
    end;

ContainsKey

Determines whether the Dictionary contains the specified key.

    procedure ContainsKey(SalesDictionary: Dictionary of [Text, Decimal])
    var
        ContainsKey: Boolean;

    begin
        ContainsKey := SalesDictionary.ContainsKey('10000');
    end;

Count

Gets the number of key/value pairs contained in the Dictionary.

    procedure KeyCount(SalesDictionary: Dictionary of [Text, Decimal]): Integer
    var
        Count: Integer;

    begin
        Count := SalesDictionary.Count();
        exit(Count);
    end;

Get

Gets the value associated with the specified key.

    procedure GetValue(SalesDictionary: Dictionary of [Text, Decimal]; dictkey: Text): Decimal
    var
        dictvalue: Decimal;
    begin
        // Get will error if the key does not exist
        // You can use contains to check if the key exists
        if SalesDictionary.ContainsKey(dictkey) then
            SalesDictionary.Get(dictkey, dictvalue);

        dictvalue := SalesDictionary.Get(dictkey);

        exit(dictvalue);
    end;

Keys / Values

Gets a collection containing the keys / Values in the Dictionary.

    procedure GetKeysValues(SalesDictionary: Dictionary of [Text, Decimal]; KeysList: List of [Text]; ValuesList: List of [Decimal])
    begin
        KeysList := SalesDictionary.Keys();
        ValuesList := SalesDictionary.Values();
    end;

Remove

Removes the value with the specified key from the Dictionary.

    procedure RemoveKey(SalesDictionary: Dictionary of [Text, Decimal])
    begin
        SalesDictionary.Remove('40000');
    end;

The Dictionary data type is optimized for lookups, allowing for efficient storage and retrieval of values without the need to query the database repeatedly.

Overall, the Dictionary data type in Business Central is not just a powerful tool but a crucial one for efficiently storing and retrieving key-value pairs. It is an asset for developers, underscoring the significance of their work with data structures in AL code.

Read more about the Dictionary Data Type here.

Note: The code and information discussed in this article are for informational and demonstration purposes only. This content was created referencing Microsoft Dynamics 365 Business Central 2024 Wave 1 online.

Permanent link to this article: https://www.dvlprlife.com/2024/07/microsoft-dynamics-365-business-central-decoding-dictionaries-unlocking-the-power-of-key-value-pairs/

Real Things I’m asked: Microsoft Dynamics 365 Business Central Personalize Pages for a Group of Users

Q: How do I change the page layouts for users without having to log in and personalize the pages for each user?

A: A Profile in Microsoft Dynamics 365 Business Central is a powerful tool that empowers administrators to define and manage what different types of users can access within the system. Profiles enable administrators to personalize users’ pages, actions, and reports based on their roles in the company, providing them with an individualized experience. These personalizations only apply to the specified Profile and users assigned to those profiles. They can include changes to page layout and actions but not code execution.

Microsoft Dynamics 365 Business Central Personalizations are designed to be user-friendly, allowing administrators to easily adjust a user’s workspace to suit their profile preferences. Pages can be changed to display only the information needed, where needed. Personalization affects only assigned users’ workspace; it doesn’t change how others work. You can personalize all pages, including the role center, card, and list pages.

Administrators can create new profiles or fine-tune page personalizations using the client in Business Central, eliminating the need to develop extensions.

To customize a Profile in Microsoft Dynamics 365 Business Central:

  1. Search for Profiles using the Search feature in Business Central.
  2. Select the Profiles (Roles) List page from the Pages and Tasks section of the results page.
  3. Select the Profile that you would like to personalize.
  4. Select the “Customize Pages” menu action.
  5. Once selected, a new browser window (or tab) will open in design mode, allowing you to personalize the Profile. Click the “More” action on the top menu to display more options, such as adding fields.
  6. Navigate to the page(s) you’d like to personalize and begin personalizing the view by adding, moving, or adjusting some basic properties by highlighting the field and clicking on the red triangle that appears in the field.

  7. To add a field, find the field in the Add Field to Page pane, highlight the field, and select Add from the “triangle menu options.
  8. After personalizing the desired pages, click “Done” on the menu bar. Note: You do not need to click Done after each page; you can personalize all the desired pages and select Done.

  9. You can remove, repair, or view the page personalizations for a Profile by selecting the “Manage customized pages” menu action from the Related menu option.

Read more about Profiles here and User Personalization here.

Note: The code and information discussed in this article are for informational and demonstration purposes only. This content was created referencing Microsoft Dynamics 365 Business Central 2024 Wave 1 online.

Permanent link to this article: https://www.dvlprlife.com/2024/07/real-things-im-asked-microsoft-dynamics-365-business-central-personalize-pages-for-a-group-of-users/

July 2024 Cumulative Updates for Dynamics 365 Business Central

The July updates for Microsoft Dynamics 365 Business Central are now available.

Before applying the updates, you should confirm that your implementation is ready for the upgrade and ensure compatibility with your modifications. Work with a Microsoft Partner to determine if you are ready and what is needed for you to apply the update.

Please note that Online customers will automatically be upgraded to version 24.3 over the coming days/weeks and should receive an email notification when upgraded.

Direct links to the cumulative updates are listed here:

Dynamics 365 Business Central On-Premises 2024 Release Wave 1 – 24.3 (July 2024)

Dynamics 365 Business Central On-Premises 2023 Release Wave 2 – 23.9 (July 2024)

Dynamics 365 Business Central On-Premises 2023 Release Wave 1 Updates – 22.15 (July 2024)

Dynamics 365 Business Central On-Premises 2022 Release Wave 2 Updates – Update 21.18 (April 2024)

Dynamics 365 Business Central On-Premises 2022 Release Wave 1 Updates – Update 20.18 (October 2023)

Dynamics 365 Business Central On-Premises 2021 Release Wave 2 Updates – Update 19.18 (April 2023)

Dynamics 365 Business Central On-Premises 2021 Release Wave 1 Updates – Update 18.18 (October 2022)

Dynamics 365 Business Central On-Premises 2020 Release Wave 2 Updates – Update 17.17 (April 2022)

Dynamics 365 Business Central On-Premises 2020 Release Wave 1 Updates – Update 16.19 (January 2022)

Dynamics 365 Business Central On-Premises 2019 Release Wave 2 Updates – Update 15.17 (April 2021)

Dynamics 365 Business Central On-Premises Spring 2019 Updates – Update 52 (October 2023)

Dynamics 365 Business Central On-Premises October’18 Updates – Update 18 (April 2020)

Permanent link to this article: https://www.dvlprlife.com/2024/07/july-2024-cumulative-updates-for-dynamics-365-business-central/

Microsoft Dynamics 365 Business Central: Navigating Lists

In the AL language for Microsoft Dynamics 365 Business Central, a List data type is a strongly typed list of ordered objects accessed by index, starting at 1. Lists are a great alternative to arrays. Unlike arrays, lists are unbounded, which means their size doesn’t need to be declared upon creation and can grow dynamically with unlimited capacity.

Lists can only store simple data types such as integers, text, and code. However, lists can be stored within a list, creating nested lists. Lists preserve the sequence in which the elements are added by adding each new element to the end of the list. One important note is that Lists are reference types, which means they are always passed by reference, regardless of whether the parameter is specified as a value or reference (var). If you need to manipulate a copy of the list, you must do a deep copy. Lists are great for holding data in cases where temporary tables are often used. However, lists do not support holding instantiated records, so temporary tables should still be used.

Working with lists is relatively straightforward, and the list data type provides many built-in methods for managing and manipulating data efficiently within the list.

Add Method /AddRange Method

Adds a value to the end of the List.
Adds multiple  elements to the end of the list.

    procedure AddToList(list: List of [Text])
    begin
        list.Add('Hello');
        list.Add('World');
        list.Add('!');

        list.AddRange('This', 'is', 'a', 'list', 'of', 'text', 'values');
    end;

Reverse Method

Reverses the order of the elements in the List. After items are added to the list, their order can be reversed.

    procedure ReverseList(list: List of [Text])
    begin
        List.Reverse();
    end;

Get Method

Gets the element at the specified index and will raise an error if the index is outside the valid list range.

    procedure GetElement(list: List of [Text])
    var
        i: Integer;
        element: Text;
    begin
        for i := 1 to list.Count() do begin
            // Two Get Method Options
            element := list.Get(i);
            list.Get(i, element);
        end;
    end;

Remove Method/RemoveAt

Removes the first occurrence of a specified element value from the List.
Removes the element at the specified index of the List.

   procedure RemoveElement(list: List of [Text])
    var
        i: Integer;
        element: Text;
    begin
        list.Remove('Hello');

        list.RemoveAt(1);

    end;

Nested Lists

Nested lists are lists that contain other lists as their elements. You can think of it as one or more lists within a list. This structure allows you to create multi-dimensional data structures, making it easier to represent complex data hierarchies. (with a few other methods for demonstration)

    procedure NestedListPlus()
    var
        list: List of [List of [Text]];
        innerList: List of [Text];
        i: Integer;
    begin
        innerList.Add('Hello');
        innerList.Add('World');
        list.Add(innerList);
        list.Get(1).Add('!');

        Clear(innerList);
        list.Add(innerList);
        list.Get(2).Add('Inner');
        innerList.Add('List');

        if list.Get(1).Contains('Hello') then
            i := list.Get(1).IndexOf('Hello');
    end;

Overall, the List data type is a powerful tool that streamlines data storage, retrieval, and manipulation in Business Central. By harnessing the power of Lists, developers can significantly enhance code readability and efficiency, making it a valuable resource for specific tasks and scenarios and ultimately boosting productivity. 

Read more about the List data type >>here<<.

Note: The code and information discussed in this article are for informational and demonstration purposes only. This content was created referencing Microsoft Dynamics 365 Business Central 2024 Wave 1 online.

Permanent link to this article: https://www.dvlprlife.com/2024/07/microsoft-dynamics-365-business-central-navigating-lists/

Dynamics 365 Business Central 2024 Wave 1 – Assign Salesperson to Customer Ship-to Addresses

With each update of Dynamics 365 Business Central, Microsoft enhances what is often referred to as the base application and the development environment. Dynamics 365 Business Central 2024 Wave 1 has several exciting Application features, one of which is Assign Salesperson to Customer Ship-to Addresses.

Imagine a commercial company with offices in different locations and addresses (e.g., branches, offices, warehouses). While there may be a central office for accounting and billing, products may need to be shipped to various locations. In this case, Business Central supports multiple ship-to addresses that users can select in the order processing cycle.
In some cases, the locations may fall into separate salesperson territories. Before Business Central 2024 Wave 1, the salesperson code only appeared on the primary customer. If there was a need for separate salespeople to service different locations, it required setting up multiple related customers or a modification. Now, there is an option to indicate a different salesperson on each Ship-to Address.

Note: The Salesperson Code on the Ship-to Address is not visible by default. To specify the salesperson on the Ship-to Address, the field must be made visible through user or role personalization.

To enter a Salesperson Code on a Ship-to Address:

  1. Click on Customer Action from the customer card and then click the Ship-to Addresses menu.
  2. Create a New or Select an existing Ship-to Address
  3. Enter or Select the desired Salesperson Code

When the Ship-to Address is chosen during the order entry process, the document’s Salesperson code is also updated if specified on the Ship-to Address.

The Assign Salesperson to Customer Ship-to Addresses feature introduced in Business Central with 2024 Wave 1 is special because it is a contribution I made to the base application. You can listen about it here and read more about it here.

Read more about the feature Assign salesperson to customer ship-to addresses here.

Note: The code and information discussed in this article are for informational and demonstration purposes only. This content was created referencing Microsoft Dynamics 365 Business Central 2024 Wave 1 online.

Permanent link to this article: https://www.dvlprlife.com/2024/06/dynamics-365-business-central-2024-wave-1-assign-salesperson-to-customer-ship-to-addresses/