设计 ER 表达式以调用应用类方法
本文介绍如何通过在 ER 表达式中调用必需的应用类方法来在电子报告 (ER) 配置中重用现有应用程序逻辑。 调用类的参数值可以在运行时动态定义。 例如,值可以基于解析文档中的信息,以确保其正确性。
对于本文中的示例,您将设计一个流程来分析传入的银行对帐单以更新应用程序数据。 您将收到包含国际银行帐号 (IBAN) 代码的文本 (.txt) 文件形式的传入银行对帐单。 作为导入银行对帐单过程的一部分,您必须使用已经提供的逻辑验证 IBAN 代码的正确性。
先决条件
本文中的过程适用于已被分配了系统管理员或电子报告开发人员角色的用户。
可使用任何数据集完成这些过程。
要完成这些过程,您必须下载并保存以下文件:SampleIncomingMessage.txt。
在本文中,将为示例公司 Litware 公司创建所需 ER 配置。 因此,在完成本文中的过程之前,您必须执行以下步骤。
- 转到组织管理>工作区>电子申报。
- 在本地化配置页面,验证 Litware, Inc. 示例公司的配置提供程序是否可用并标记为有效。 如果没有看到此配置提供程序,您必须首先完成创建配置提供程序并标记为有效中的步骤。
导入新 ER 模型配置
在本地化配置页面的配置提供程序部分,选择 Microsoft 配置提供程序的磁贴。
选择存储库。
在本地化存储库页面上,选择显示筛选器。
要选择全局存储库记录,请添加名称筛选器字段。
在名称字段中,输入全局。 然后选择 contains 筛选器运算符。
选择应用。
选择打开查看所选存储库中的 ER 配置列表。
在配置存储库页的配置树中,选择付款模型。
在版本快速选项卡上,如果导入按钮可用,选择该按钮,然后选择是。
如果导入按钮不可用,说明您已经导入了所选版本的付款模型 ER 配置。
关闭配置存储库页面,然后关闭本地化存储库页面。
添加新 ER 格式配置
添加新的 ER 格式来分析 TXT 格式的传入银行对帐单。
在本地化配置页面上,选择报告配置磁贴。
在配置页的左侧窗格的配置树中,选择付款模型。
选择创建配置。
在下拉对话框中,执行以下步骤:
- 在新建字段中,输入基于数据模型付款模型的格式。
- 在名称字段中,输入银行对帐单导入格式(示例)。
- 在支持数据导入字段中,选择是。
- 选择创建配置完成配置的创建。
设计 ER 格式配置 – 格式
设计一个表示 TXT 格式外部文件的预期结构的 ER 格式。
对于您添加的银行对帐单导入格式(示例)格式配置,选择设计器。
在格式设计器页上,在左窗格中的格式结构树中,选择添加根。
在出现的对话框中,执行以下步骤:
- 在树中,选择文本\序列添加序列格式组件。
- 在名称字段中,输入根。
- 在特殊字符字段中,选择新行 - Windows (CR LF)。 基于此设置,分析文件的每一行将被视为单独的记录。
- 选择确定。
选择添加。
在出现的对话框中,执行以下步骤:
- 在树中,选择文本\序列。
- 在名称字段中,输入行。
- 在多样性字段中,选择一个 多个。 基于此设置,预计分析文件中至少会出现一行。
- 选择确定。
在树中,选择根\行,然后选择添加序列。
在出现的对话框中,执行以下步骤:
- 在名称字段中,输入字段。
- 在多样性字段中,选择正好一个。
- 选择确定。
在树中,选择根\行\字段,然后选择添加。
在出现的对话框中,执行以下步骤:
- 在树中,选择文本\字符串。
- 在名称字段中,输入 IBAN。 3.. 选择确定。
选择保存。
配置现在已设置,以使分析文件中的每一行仅包含 IBAN 代码。
设计 ER 格式配置 – 映射到数据模型
设计一个 ER 格式映射,该映射使用来自分析文件的信息填充数据模型。
在格式设计器页面的操作窗格中,选择将格式映射到模型。
在模型到数据源映射页面的操作窗格中,选择新。
在定义字段中,选择 BankToCustomerDebitCreditNotificationInitiation。
在名称字段中,输入数据模型映射。
选择保存。
选择设计器。
在模型映射设计器页的数据源类型树中,选择 Dynamics 365 for Operations\类。
在数据源部分,选择添加根添加一个数据源,该数据源调用现有应用程序逻辑以进行 IBAN 代码验证。
在出现的对话框中,执行以下步骤:
- 在名称字段中,输入 Check_codes。
- 在类字段中,输入或选择 ISO7064。
- 选择确定。
在数据源类型树中,执行以下步骤:
- 展开格式数据源。
- 展开 format\Root: Sequence(Root)。
- 展开 format\Root: Sequence(Root)\Rows: Sequence 1..* (Rows)。
- 展开 format\Root: Sequence(Root)\Rows: Sequence 1..* (Rows)\Fields: Sequence 1..1 (Fields)。
在数据模型树中,执行以下步骤:
- 展开数据模型的付款字段。
- 展开 Payments\Creditor Account(CreditorAccount)。
- 展开 Payments\Creditor Account(CreditorAccount)\Identification。
- 展开 Payments\Creditor Account(CreditorAccount)\Identification\IBAN。
按照以下步骤将配置格式的组件绑定到数据模型字段:
- 选择 format\Root: Sequence(Root)\Rows: Sequence 1..* (Rows)。
- 选择付款。
- 选择绑定。 基于此设置,分析文件的每一行将被视为单笔付款。
- 选择 format\Root: Sequence(Root)\Rows: Sequence 1..* (Rows)\Fields: Sequence 1..1 (Fields)\IBAN: String(IBAN)。
- 选择 Payments\Creditor Account(CreditorAccount)\Identification\IBAN。
- 选择绑定。 根据此设置,数据模型的 IBAN 字段将填充解析文件中的值。
在验证选项卡上,按照以下步骤添加验证规则,该规则显示分析文件中包含无效 IBAN 代码的任何行的错误消息:
- 选择新,然后选择编辑条件。
- 在公式设计器页面上的数据源树中,展开表示 ISO7064 应用程序类的 Check_codes 数据源来查看此类的可用方法。
- 选择 Check_codes\verifyMOD1271_36。
- 选择添加数据源。
- 在公式字段中,输入以下表达式:Check_codes.verifyMOD1271_36(format.Root.Rows.Fields.IBAN)。
- 选择保存,然后关闭页面。
- 选择编辑消息。
- 在公式设计器页面上的公式字段中,输入 CONCATENATE("Invalid IBAN code has been found: ", format.Root.Rows.Fields.IBAN)。
- 选择保存,然后关闭页面。
基于这些设置,对于任何无效的 IBAN 代码,验证条件将通过调用 ISO7064 应用程序类的现有的 verifyMOD1271_36 方法返回 FALSE。 请注意,IBAN 代码的值在运行时被动态定义为基于分析文本文件的内容调用方法的参数。
选择保存。
关闭模型映射设计器页面,然后关闭模型到数据源映射页面。
运行格式映射
为了测试,请使用以前下载的 SampleIncomingMessage.txt 文件运行格式映射。 生成的输出将包含从所选文本文件导入,并在实际导入时转移到自定义数据模型的数据。
在模型到数据源映射页面上,选择运行。
在电子报表参数页面上,选择浏览,浏览到您下载的 SampleIncomingMessage.txt 文件,然后选择它。
选择确定。
请注意,模型到数据源映射页面将显示有关无效 IBAN 代码的错误消息。
检查 XML 格式的输出,该输出表示已从所选文件导入并移植到数据模型的数据。 请注意,只有三行导入的文本文件被处理,没有错误。 第 4 行的 IBAN 代码无效,已被跳过。