Dynamics 365 Business Central: 创建新的设置页面时的注意事项

中国語

各位,下午好。
今天,我想与各位简单分享一些在Business Central中创建新设置页面时需要要注意的事情。

在BC中添加新功能时,我们都建议您将为其添加一个设置页面。 例如,使用布尔值字段来切换新功能开启和关闭。
例:Inventory Setup

这不仅使随时启用和禁用新功能变得更加容易,而且还使BC的标准功能不受影响。

那么在创建新的设置页面时我们应该注意什么呢?

1. Primary Key(Code 10): Blank
设置表的主键应为 Code[10]。 另外,不要在页面上显示该主键。

2. PageType of the setup page: Card
页面类型请使用Card。

    PageType = Card;

3. Setting Page Permissions (InsertAllowed and DeleteAllowed)
通常,设置表中只有一条记录,因此用户无法删除它或添加新设置。

page 50113 "ZY Setup"
{
    PageType = Card;
    Caption = 'ZY Setup';
    ApplicationArea = All;
    UsageCategory = Administration;
    SourceTable = "ZY Setup";
    InsertAllowed = false;
    DeleteAllowed = false;
}

4. OnOpenPage() trigger
用户首次打开设置页面时,需要自动插入一个空记录。

    trigger OnOpenPage()
    begin
        Rec.Reset;
        if not Rec.Get() then begin
            Rec.Init();
            Rec.Insert();
        end;
    end;

至此,一个基本的设置页面就已经完成了。
测试视频:

源代码:
表:

table 50112 "ZY Setup"
{
    Caption = 'ZY Setup';

    fields
    {
        field(1; "Primary Key"; Code[10])
        {
            Caption = 'Primary Key';
            DataClassification = CustomerContent;
        }
        field(2; "Test Setup Field"; Boolean)
        {
            Caption = 'Test Setup Field';
            DataClassification = CustomerContent;
        }

    }

    keys
    {
        key(PK; "Primary Key")
        {
            Clustered = true;
        }
    }
}

页面:

page 50113 "ZY Setup"
{
    PageType = Card;
    Caption = 'ZY Setup';
    ApplicationArea = All;
    UsageCategory = Administration;
    SourceTable = "ZY Setup";
    InsertAllowed = false;
    DeleteAllowed = false;


    layout
    {
        area(Content)
        {
            group(GroupName)
            {
                Caption = 'General';
                field("Test Setup Field"; Rec."Test Setup Field")
                {
                    ApplicationArea = All;
                }
            }
        }
    }

    trigger OnOpenPage()
    begin
        Rec.Reset;
        if not Rec.Get() then begin
            Rec.Init();
            Rec.Insert();
        end;
    end;
}

Remark01. 您也可以将新的设置项目添加到现有标准的设置页面。
例如: Sales -> Sales & Receivables Setup

TableExtension:

PageExtension:

Sales & Receivables Setup page:

Remark02. 关于为用户添加的新设置.
User(2000000120)的表是系统表,无法扩展。

例:

因此,如果要扩展用户设置,请扩展User Setup (91) 表和User Setup (119, List) 页面。

TableExtension:

PageExtension:

User Setup page:

Remark03. 使用向导和辅助设置
向导和辅助设置是可帮助Business Central用户配置模块的快速设置方案。 因此,为了使用户更容易配置系统,建议您在为Business Central创建扩展时创建一个或多个的辅助设置。
详细请参考: How to create a Wizard (NavigatePage) and Assisted Setup

向导

辅助设置

Update
Remark04. GetRecordOnce function

来自 Arend-Jan Kauffmann 的追加提示.

例:
定义方法:
In table 311 “Sales & Receivables Setup”

In table 98 “General Ledger Setup”

使用方法:
In codeunit 57 “Document Totals”:

In codeunit 12 “Gen. Jnl.-Post Line”:

感谢您的阅读。

コメント

タイトルとURLをコピーしました