Dynamics 365 Business Central: Find out which extension the field belongs to

Dynamics 365 Business Central

Hi, Readers.
Today, I would like to talk about how to find out which extension the field belongs to in Business Central.

By chance, I recently discovered that in Page Inspection, the extension name is displayed below the field. And can also display the name of the custom extension. Probably from a long time ago, I did not notice it 😑.
PS: Inspecting Pages in Business Central

When we discuss View the all object details (Type, ID, Name…) and find out what extension an object belong to without using VS Code, we learn that we can simply find out what extension an object belong to.

And in How to export all fields in all tables in Dynamics 365 Business Central, We discussed how to export all fields.

At that time, we cannot determine which extension the field belongs to. But I found this changed.
Let’s take a look at the system table 2000000041 “Field”.

In the previous version:

In BC 22:

Yes, “App Package ID” and “App Runtime Package ID” have been added to the table 2000000041 “Field” 👏👏👏.

Let’s first open the table directly and take a look.
Add “?table=2000000041” after the environment name.

Great.

Let me create a simple list page.

Source Code:

page 50009 "Field List"
{
    ApplicationArea = All;
    Caption = 'Field List';
    PageType = List;
    SourceTable = "Field";
    UsageCategory = Administration;

    layout
    {
        area(content)
        {
            repeater(General)
            {
                field(TableNo; Rec.TableNo)
                {
                    ToolTip = 'Specifies the table number.';
                }
                field("No."; Rec."No.")
                {
                    ToolTip = 'Specifies the ID number of the field in the table.';
                }
                field(TableName; Rec.TableName)
                {
                    ToolTip = 'Specifies the name of the table.';
                }
                field(FieldName; Rec.FieldName)
                {
                    ToolTip = 'Specifies the name of the field in the table.';
                }
                field("Type"; Rec."Type")
                {
                    ToolTip = 'Specifies the type of the field in the table, which indicates the type of data it contains.';
                }
                field(Len; Rec.Len)
                {
                    ToolTip = 'Specifies the value of the Len field.';
                }
                field(Class; Rec.Class)
                {
                    ToolTip = 'Specifies the type of class. Normal is data entry, FlowFields calculate and display results immediately, and FlowFilters display results based on user-defined filter values that affect the calculation of a FlowField.';
                }
                field(Enabled; Rec.Enabled)
                {
                    ToolTip = 'Specifies the value of the Enabled field.';
                }
                field("Type Name"; Rec."Type Name")
                {
                    ToolTip = 'Specifies the type of data.';
                }
                field(AppName; AppName)
                {
                    Caption = 'App Name';
                }
            }
        }
    }

    trigger OnAfterGetRecord()
    var
        NAVAppInstalledApp: Record "NAV App Installed App";
    begin
        NAVAppInstalledApp.Reset();
        NAVAppInstalledApp.SetRange("Package ID", Rec."App Package ID");
        if NAVAppInstalledApp.FindFirst() then
            AppName := NAVAppInstalledApp.Name;
    end;

    var
        AppName: Text;
}

Very nice, give it a try!!!😁

PS: How to get the list of Extension ID (App ID), Extension Name, Publisher, etc. via AL

END

Hope this will help.

Thanks for reading.

ZHU

コメント

Copied title and URL