练习 - 使用条件语句和复合语句

已完成

您是 CRONUS International Ltd. 的一名开发人员。公司决定开始将 Microsoft Dynamics 365 Business Central 培训课程纳入其销售业务范畴。

您想要创建一个页面,以便根据课程的难度给出培训水平和建议。

任务

  • 创建新页面。

  • 定义三个全局变量:一个输入值和两个输出值

  • 创建字段并使用变量作为源。

  • 创建一个本地过程,根据难度水平计算最适合参加的课程。

  • 当您在难度字段中输入值时,会获取课程信息。

步骤

  1. 选择文件 > 新建文件,然后通过选择文件 > 保存立即保存本文件。 输入 StatementsCard.Page.al 作为文件名。

  2. 使用代码片段在本文件中创建一个新页面。 输入 tpage,然后按 Tab 键。

  3. ID 更改为 50112,然后将名称更改为语句卡

  4. PageType 属性设置为,将 UsageCategory 属性设置为文档

  5. 删除 SourceTable 属性并将 Caption 属性设置为语句卡

  6. 创建以下全局变量,删除默认的 myInt 变量。

    • 水平文本[30]

    • 建议文本[80]

    • 难度整数

  7. 验证是否在布局部分中创建了内容区域。 如果没有,请创建一个名为内容的区域。

  8. 删除操作部分(如有)。

  9. 将第一个组的名称更改为输入。 将组的 Caption 属性设置为输入

  10. 再创建一个名为输出的组,将该组的 Caption 属性设置为输出

  11. 输入组添加一个难度字段。 向输出组添加建议字段和水平字段。 您可以使用 tpagefield 代码片段。

  12. 验证页面上所有字段的 ApplicationArea 属性是否设置为 All

  13. 为每个字段设置一个标题和工具提示。 将水平字段和建议字段的 Editable 属性设置为 false

  14. 在全局变量下,创建一个名为 GetSuggestion 的本地过程。 您可以使用 tprocedure 代码片段。

  15. 开始块和结束块之间,添加以下代码:

    代码示例

    Level := '';
    Suggestion := '';
    
    case Difficulty of
       1..5:
           begin
    Level := 'Beginner';
    Suggestion := 'Take e-Learning or remote training';
           end;
       6..8:
          begin
    Level := 'Intermediate';
    Suggestion := 'Attend instructor-Led';
          end;
       9..10:
          begin
    Level := 'Advanced';
    Suggestion := 'Attend instructor-Led and self study';
          end;
    end;
    
  16. 难度字段内,创建一个名为 OnValidate 的触发器。 您可以使用 trigger 代码片段。

  17. OnValidate 触发器内调用 GetSuggestion 过程。

  18. 代码应与此类似:

    page 50112 "Statements Card"
    {
    	PageType = Card;
    	ApplicationArea = All;
    	UsageCategory = Documents;
    	Caption = 'Statements Card';
    
    	layout
    	{
    		area(Content)
    		{
    			group(Input)
    			{
    				Caption = 'Input';
    				field(Difficulty; Difficulty)
    				{
    					ApplicationArea = All;
    					Caption = 'Difficulty';
    					ToolTip = 'Select the Difficulty.';
    					trigger OnValidate()
    					begin
    						GetSuggestion();
    					end;
    				}
    			}
    			group(Output)
    			{
    				Caption = 'Output';
    				field(Suggestion; Suggestion)
    				{
    					ApplicationArea = All;
    					Caption = 'Suggestion';
    					ToolTip = 'Suggestion.';
    					Editable = false;
    				}
    				field(Level; Level)
    				{
    					ApplicationArea = All;
    					Caption = 'Level';
    					ToolTip = 'Level.';
    					Editable = false;
    				}
    			}
    		}
    	}
    
    	var
    		Level: Text[30];
    		Suggestion: Text[80];
    		Difficulty: Integer;
    
    	local procedure GetSuggestion()
    	begin
    		Level := '';
    		Suggestion := '';
    
    		case Difficulty of
    			1 .. 5:
    				begin
    					Level := 'Beginner';
    					Suggestion := 'Take e-Learning or remote training';
    				end;
    			6 .. 8:
    				begin
    					Level := 'Intermediate';
    					Suggestion := 'Attend instructor-Led';
    				end;
    			9 .. 10:
    				begin
    					Level := 'Advanced';
    					Suggestion := 'Attend instructor-Led and self study';
    				end;
    		end;
    	end;
    }
    
  19. 打开 .vscode 文件夹中的 launch.json 文件。 将 startupObjectId 设为 50112,将 startupObjectType 设为 Page

  20. 将扩展发布到沙盒。 选择视图 > 命令面板...,或使用 Ctrl+Shift+P 快捷键。

  21. 在搜索框中输入 AL: 发布(或者按 F5 键),然后从列表中选择命令。

  22. 验证 Microsoft Dynamics 365 Business Central 应用程序是否启动,以及语句卡页面是否显示。 在难度字段中输入值 9,然后按 Enter

  23. 验证水平建议文本框是否发生更改。