练习 - 使用命令链创建扩展

已完成

您是必须对 CustTable insert 方法进行自定义的开发人员。 创建客户后,如果客户信用等级小于 200,应阻止客户进行所有交付和开票。 应显示一条提示,以对正在输入客户详细信息的人员发送警报。

开始之前

为了充分利用本练习,我们建议您导入通过使用 Lifecycle Services 安装的财务和运营应用中可用的标准示例数据。 您还需要开发人员环境和使用 Visual Studio 的试用或永久许可证。

创建新项目

  1. 打开 Visual Studio 并以管理员身份运行,然后打开文件菜单。
  2. 选择新建 > 项目
  3. 新建项目对话框中,确保在模板下的左侧窗格上选择 Dynamics 365
  4. 在中间窗格上,选择财务运营
  5. 将项目命名为 ChainOfCommand
  6. 选择确定
  7. 在功能区中打开 Dynamics 365 菜单。
  8. 选择选项
  9. 在左侧窗格上的 Dynamics 365 节点下,选择项目
  10. 选中按元素类型组织项目在生成时为新创建的项目同步数据复选框。
  11. 选择确定
  12. 解决方案资源管理器中,右键单击您的项目名称并选择属性
  13. 在属性页面中,将模型字段更改为车队管理
  14. 选择确定
  15. 现在,您需要确保具有正确的引用。
  16. 转到 Dynamics 365 菜单。
  17. 选择模型管理 > 更新模型参数
  18. 模型名称下拉列表中,选择车队管理
  19. 选择下一步
  20. 所选引用包页面中,确保选中目录应用程序套件。
  21. 完成后,选择完成

在 CustTable 类中创建方法的扩展

  1. 解决方案资源管理器窗口中,右键单击项目 ChainOfCommand
  2. 选择添加 > 新建项目
  3. 在左侧窗格中,选择 Dynamics 365 项目
  4. 在中间窗格中选择
  5. 输入 CustTable_Extension 作为名称。
  6. 选择添加
  7. CustTable_Extension 类中,添加以下代码以将字段开票和交付暂停设置为全部,并在插入后显示消息。
[ExtensionOf(tableStr(CustTable))]
final class CustTable_Extension
{
    public void insert(DirPartyType _partyType, Name _name,boolean _updateCRM)
   {
        if (str2Int(this.creditRating) < 200)
        {
            this.blocked = CustVendorBlocked::All;
			info("The customer has been placed on hold due to low credit rating. Please review.");
        }
        next insert();       
   } 
}
  1. 保存类。
  2. 生成项目。