创建履行提供程序
本主题介绍在 Microsoft Dynamics 365 Intelligent Order Management 中创建履行提供程序所需的步骤。
创建新的提供程序定义
要创建新的提供程序定义,请执行以下步骤。
- 转到提供程序 > 目录。
- 选择新建提供程序定义。
- 对于显示名称,输入“IOMLabFulfillmentProvider”。
- 对于逻辑名称,输入“msdyn_IOMLabFulfillmentProvider”。
- 对于描述,输入“IOM 实验室履行提供程序”。
- 对于徽标,选择“IOMLab.png”。
- 对于服务类型,输入“Fulfillment”。
- 选择保存并关闭。
向解决方案中添加提供程序定义
要向解决方案中添加提供程序定义,请执行以下步骤。
- 转到 Power App Maker portal,导航到新创建的解决方案 IOMLabProviders。
- 选择添加现有 > IOM 提供程序定义。
- 选择 IOMLabFulfillmentProvider,然后选择添加以将其添加到解决方案中。
创建提供程序操作以将履行有效负载发送到 Outlook
要创建提供程序操作以将履行有效负载发送到 Outlook,请执行以下步骤。
转到 Power App Maker portal,导航到解决方案。
打开默认解决方案。
选择新建。
选择云端流,然后将其命名为“IOM Lab Send To Fulfillment (Outlook)”。
为触发器类型选择 HTTP 触发器
- 定义一个 Power Automate 触发器。 这通常是一个 HTTP 终结点,它是一个 webhook 触发器(推荐)、连接器触发器或一个 Dataverse 插入触发器。 当外部服务有数据要发送到 Intelligent Order Management 时,触发器会被触发。
在 HTTP 触发器中使用的 JSON 架构的定义如下。
{ "type": "object", "properties": { "text": { "title": "ProviderActionExecutionEventId", "type": "string", "x-ms-dynamically-added": true, "description": "Please enter your input", "x-ms-content-hint": "TEXT" }, "text_1": { "title": "EntityRecordId", "type": "string", "x-ms-dynamically-added": true, "description": "Please enter your input", "x-ms-content-hint": "TEXT" } }, "required": [ "text", "text_1" ] }
添加一个尝试范围。
在尝试范围内,添加一个执行未绑定的操作操作,如下所示:
- ProviderActionExecutionEventId:在 Dynamic content 下,选择 ProviderActionExecutionEventId。
-
PowerAutomateRunId:将以下内容指定为表达式:
workflow()['run']?['name']
。
添加按 ID 获取行操作,然后执行以下操作:
- 对于表名称,输入“Fulfillment Orders”。
- 对于行 ID,在动态内容下选择 EntityRecordId。
从 Outlook.com 连接器添加发送电子邮件操作,如下所示。 有几个电子邮件连接器,请确保选择 Outlook.com,因为这是之前设置的连接。
- 在收件人行上,“placeholder@placeholder.com”用作占位符文本。 这将在后面的步骤中由提供程序参数替换。
- 在主题行上,“名称”是从动态内容下的获取履行订单步骤中获取的。
- 对于正文,将以下内容指定为表达式:
outputs('Get_fulfillment_order')['body']
添加一个列出行操作,如下所示:
- 对于表名称,输入“Fulfillment Order Products”。
- 对于获取 Xml 查询,输入以下内容:
<fetch> <entity name="msdyn_fulfillmentorderdetail"> <all-attributes /> <filter> <condition attribute="msdyn_fulfillmentid" operator="eq" value="@{triggerBody()['text_1']}"/> </filter> </entity> </fetch>
添加一个具有发送电子邮件操作的应用于每个控件,如下所示:
- 值是从动态内容下的获取履行订单行步骤中获取的。
- 名称是从动态内容下的获取履行订单行步骤中获取的。
- 当前物料是从动态内容下选择的。
在循环中,添加一个附加到数组变量操作,如下所示:
- 对于名称,输入“ProcessedFulfillmentOrderLines”。
- 对于值,从动态内容下选择履行行 ID。
在循环中,再添加一个附加到数组变量操作,如下所示:
- 对于名称,输入“ProcessedSalesOrderLines”。
- 对于值,从动态内容下选择销售行 ID。
通过选择其标题栏来折叠尝试范围。
选择新步骤,并添加另一个名为“捕获”的范围。
在捕获范围上,选择省略号(“...”),选择配置在以下时间之后运行,配置如下:
- 选中已失败复选框。
- 选中已超时复选框。
在捕获范围中,选择添加操作,然后添加一个设置变量操作,并将其重命名为“将执行结果设置为失败”。
如下所示配置属性:
- 对于名称,输入“ExecutionResult”。
- 对于值,输入“false”。
选择新步骤,并添加另一个名为“最终”的范围。
在最终范围上,选择省略号(“...”),选择配置在以下时间之后运行,配置如下:
- 选中成功复选框。
- 选中已超时复选框。
- 选中已跳过复选框。
- 选中已超时复选框。
在最终范围中,添加一个“条件”步骤并将 ExecutionResult 变量与 true 进行比较,如下所示:
- 在第一个字段中,选择 ExecutionResult 变量。
- 在第二个字段中,选择等于。
- 在第三个字段中,选择 true。
在如果是分支中,添加一个运行子流操作并将其重命名为“为已处理的履行订单行引发业务事件”。
如下所示配置属性:
- 对于子流,输入“IOM 引发业务事件”。
- 对于 BusinessEventDefinitionId,输入“063d85c8-60a4-eb11-9443-000d3a313675”。
- 对于 EntityRecordId,将以下内容指定为表达式:
string(variables('ProcessedFulfillmentOrderLines'))
在如果是分支中,再添加一个运行子流操作并将其重命名为“引发销售订单聚合事件”。
如下所示配置属性:
- 对于 LineBusinessEventDefinitionId,输入“ccf64002-61a4-eb11-9443-000d3a313675”。
- 对于 LineRecordId,将以下内容指定为表达式:
string(variables('ProcessedSalesOrderLines'))
。 - 对于 OrderBusinessEventDefinitionId,输入“48688716-61a4-eb11-9443-000d3a313675”。
“折叠条件”步骤。
添加一个执行未绑定的操作操作,如下所示:
- 对于操作名称,输入“msdyn_CompleteProviderActionExecution”。
- 对于 ExecutionResult,从动态内容下选择 ExecutionResult 变量。
- 对于 ProviderActionExecutionEventId从动态内容下选择 ProviderActionExecutionEventId。
选择保存。
向 Outlook 提供程序定义中添加提供程序定义逻辑定义
要向 Outlook 提供程序定义中添加提供程序定义逻辑定义,请执行以下步骤。
- 转到提供程序 > 目录。
- 选择新创建的 IOMLabFulfillmentProvider。
- 在菜单栏上选择编辑。
- 选择逻辑定义选项卡。
- 选择 + 新建 IOM 提供程序定义逻辑定义。
- 对于显示名称,输入“IOM Lab Send to Fulfillment (Outlook)”。
- 对于逻辑名称,输入“msdyn_LabSentToFulfillmentOutlook”。
- 对于提供程序定义,输入“IOMLabFulfillmentProvider”。
- 对于逻辑类型,输入“提供程序操作”。
- 对于工作流名称,输入“IOM Lab Send to Fulfillment (Outlook)”。
- 对于超时分钟数,输入“2”。
- 对于最大重试次数,输入“3”。
- 对于描述,输入“IOM 实验室发送以供履行 (Outlook)”。
- 对于操作类型,输入“发送以供履行”。
- 选择保存。 这将生成消息处理程序云端流的 JSON 表示形式并填充客户端数据字段。
- 将占位符电子邮件替换为提供程序参数,如下所示:
- 复制客户端数据字段中的文本块并将其粘贴到记事本中。
- 在文本块中,找到“placeholder@placeholder.com”并将其替换为“{{IOMLabOutboundFulfillmentEmail}}”。
- 将修改后的文本块复制回客户端数据字段中。
- 选择保存并关闭。
- 选择连接。 您应该会看到列出了 Microsoft Dataverse 和 Outlook.com 连接引用定义。
向 Outlook IOMLabProviders 解决方案中添加提供程序定义逻辑定义
要向 Outlook IOMLabProviders 解决方案中添加提供程序定义逻辑定义,请执行以下步骤。
- 转到 Power App Maker portal,导航到新创建的解决方案 IOMLabProviders。
- 选择添加现有 > IOM 提供程序定义逻辑定义。
- 选择 IOM Lab Send To Fulfillment (Outlook),然后选择添加以将其添加到解决方案中。
向 IOMLabProviders 解决方案中添加提供程序定义连接引用
要向 IOMLabProviders 解决方案中添加提供程序定义连接引用,请执行以下步骤。
- 转到 Power App Maker portal,导航到新创建的解决方案 IOMLabProviders。
- 选择添加现有 > IOM 提供程序定义连接引用。
- 选择 Microsoft Dataverse 和 Outlook.com 提供程序定义连接引用,然后选择添加以将其添加到解决方案中。
创建提供程序操作以将履行有效负载发送到 RequestBin
要创建提供程序操作以将履行有效负载发送到 RequestBin,请执行以下步骤。
转到 Power App Maker portal,导航到解决方案。
打开默认解决方案。
选择新建。
选择云端流,然后将其命名为“IOM Lab Send To Fulfillment (RequestBin)”。
为触发类型选择手动触发流,然后执行以下操作:
- 选择添加输入,选择文本,然后在第一个字段中输入“ProviderActionExecutionEventId”。
- 选择添加输入,选择文本,然后在第一个字段中输入“EntityRecordId”。
创建一个变量初始化操作:
- 对于名称,输入“ExecutionResult”。
- 对于类型,选择布尔。
- 对于值,输入“true”。
创建第二个变量初始化操作:
- 对于名称,输入“ProcessedSaleOrderLines”。
- 对于类型,选择数组。
再创建第三个变量初始化操作:
- 对于名称,输入“ProcessedFulfillmentOrderLines”。
- 对于类型,选择数组。
添加一个尝试范围。
在尝试范围内,添加一个执行未绑定的操作操作,如下所示:
- ProviderActionExecutionEventId:在 Dynamic content 下,选择 ProviderActionExecutionEventId。
-
PowerAutomateRunId:将以下内容指定为表达式:
workflow()['run']?['name']
。
添加一个按 ID 获取行操作,然后进行以下配置:
- 对于表名称,输入“Fulfillment Orders”。
- 对于行 ID,在动态内容下选择 EntityRecordId。
从 RequestBin 连接器中添加一个创建履行订单操作,如下所示。
- 对于正文,从动态内容下选择正文。
添加一个列出行操作,如下所示:
- 对于表名称,输入“Fulfillment Order Products”。
- 对于获取 Xml 查询,输入以下内容:
<fetch> <entity name="msdyn_fulfillmentorderdetail"> <all-attributes /> <filter> <condition attribute="msdyn_fulfillmentid" operator="eq" value="@{triggerBody()['text_1']}"/> </filter> </entity> </fetch>
从 RequestBin 连接中添加一个具有创建履行订单行操作的“应用于每个”控件,如下所示:
- 值是从动态内容下的获取履行订单行步骤中获取的。
- 当前物料是从动态内容下选择的。
在循环中,添加一个附加到数组变量操作,如下所示:
- 对于名称,输入“ProcessedFulfillmentOrderLines”。
- 对于值,从动态内容下选择履行行 ID。
在循环中,再添加一个附加到数组变量操作,如下所示:
- 对于名称,输入“ProcessedSalesOrderLines”。
- 对于值,从动态内容下选择销售行 ID。
通过选择其标题栏来折叠尝试范围。
选择新步骤,并添加另一个重命名为“捕获”的范围。
在捕获范围上,选择省略号(“...”),选择配置在以下时间之后运行,配置如下:
- 选中已失败复选框。
- 选中已超时复选框。
在捕获范围中,选择添加操作,然后添加一个设置变量操作,并将其重命名为“将执行结果设置为失败”。
如下所示配置属性:
- 对于名称,输入“ExecutionResult”。
- 对于值,输入“false”。
选择新步骤,并添加另一个重命名为“最终”的范围。
在最终范围中,选择省略号(“...”),选择配置在以下时间之后运行,配置如下:
- 选中成功复选框。
- 选中已超时复选框。
- 选中已跳过复选框。
- 选中已超时复选框。
在最终范围中,添加一个“条件”步骤并将 ExecutionResult 变量与 true 进行比较,如下所示:
- 在第一个字段中,选择 ExecutionResult 变量。
- 在第二个字段中,选择等于。
- 在第三个字段中,选择 true。
在如果是分支中,添加一个运行子流操作并将其重命名为“为已处理的履行订单行引发业务事件”。
如下所示配置属性:
- 对于子流,输入“IOM 引发业务事件”。
- 对于 BusinessEventDefinitionId,输入“063d85c8-60a4-eb11-9443-000d3a313675”。
- 对于 EntityRecordId,将以下内容指定为表达式:
string(variables('ProcessedFulfillmentOrderLines'))
在如果是分支中,再添加一个运行子流操作并将其重命名为“引发销售订单聚合事件”。
如下所示配置属性:
- 对于 LineBusinessEventDefinitionId,输入“ccf64002-61a4-eb11-9443-000d3a313675”。
- 对于 LineRecordId,将以下内容指定为表达式:
string(variables('ProcessedSalesOrderLines'))
。 - 对于 OrderBusinessEventDefinitionId,输入“48688716-61a4-eb11-9443-000d3a313675”。
“折叠条件”步骤。
添加一个执行未绑定的操作操作,如下所示:
- 对于操作名称,输入“msdyn_CompleteProviderActionExecution”。
- 对于 ExecutionResult,从动态内容下选择 ExecutionResult 变量。
- 对于 ProviderActionExecutionEventId从动态内容下选择 ProviderActionExecutionEventId。
选择保存。
向提供程序定义中添加提供程序定义逻辑定义 (RequestBin)
要向 RequestBin 提供程序定义中添加提供程序定义逻辑定义,请执行以下步骤。
- 转到提供程序 > 目录。
- 选择新创建的 IOMLabFulfillmentProvider。
- 在菜单栏上选择编辑。
- 选择逻辑定义选项卡。
- 选择 + 新建 IOM 提供程序定义逻辑定义。
- 对于显示名称,输入“IOM Lab Send to Fulfillment (RequestBin)”。
- 对于逻辑名称,输入“msdyn_LabSentToFulfillmentRequestBin”。
- 对于提供程序定义,输入“IOMLabFulfillmentProvider”。
- 对于逻辑类型,输入“提供程序操作”。
- 对于工作流名称,输入“IOM Lab Send to Fulfillment (RequestBin)”。
- 对于超时分钟数,输入“2”。
- 对于最大重试次数,输入“3”。
- 对于描述,输入“IOM 实验室发送以供履行 (RequestBin)”。
- 对于操作类型,输入“发送以供履行”。
- 选择保存。 这将生成消息处理程序云端流的 JSON 表示形式并填充客户端数据字段。
- 选择保存并关闭。
- 选择连接。 您应该会看到列出了 Microsoft Dataverse、Outlook.com 和 RequestBin 连接引用定义。
向提供程序定义中添加提供程序定义参数
要向提供程序定义中添加提供程序定义参数,请执行以下步骤。
- 选择参数。
- 选择 + 新建 IOM 提供程序参数。
- 对于显示名称,输入“IOMLAbOutboundFulfillmentEmail”。
- 对于数据类型,输入“文本”。
- 对于提供程序定义,输入“IOMLabFulfillmentProvider”。
- 对于键,输入“IOMLabOutboundFulfillmentEmail”。
- 对于逻辑名称,输入“msdyn_IOMLabOutboundFulfillmentEmail”。
- 对于为必填项,输入“是”。
- 选择保存并关闭。
向 IOMLabProviders 解决方案中添加提供程序定义逻辑定义 (RequestBin)
要向 RequestBin IOMLabProviders 解决方案中添加提供程序定义逻辑定义,请执行以下步骤。
- 转到 Power App Maker portal,导航到新创建的解决方案 IOMLabProviders。
- 选择添加现有 > IOM 提供程序定义逻辑定义。
- 选择 IOM Lab Send To Fulfillment (RequestBin),然后选择添加以将其添加到解决方案中。
向 IOMLabProviders 解决方案中添加提供程序定义连接引用
要向 IOMLabProviders 解决方案中添加提供程序定义连接引用,请执行以下步骤。
- 转到 Power App Maker portal,导航到新创建的解决方案 IOMLabProviders。
- 选择添加现有 > IOM 提供程序定义连接引用。
- 选择 RequestBin,然后选择添加以将其添加到解决方案中。
向 IOMLabProviders 解决方案中添加提供程序定义参数
要向 IOMLabProviders 解决方案中添加提供程序定义参数,请执行以下步骤。
- 转到 Power App Maker portal,导航到新创建的解决方案 IOMLabProviders。
- 选择添加现有 > IOM 提供程序定义参数。
- 选择 IOMLabOutboundFulfillmentEmail,然后选择添加以将其添加到解决方案中。
下一个快速入门实验室步骤:导出解决方案