创建履行提供程序

本主题介绍在 Microsoft Dynamics 365 Intelligent Order Management 中创建履行提供程序所需的步骤。

创建新的提供程序定义

要创建新的提供程序定义,请执行以下步骤。

  1. 转到提供程序 > 目录
  2. 选择新建提供程序定义
  3. 对于显示名称,输入“IOMLabFulfillmentProvider”。
  4. 对于逻辑名称,输入“msdyn_IOMLabFulfillmentProvider”。
  5. 对于描述,输入“IOM 实验室履行提供程序”。
  6. 对于徽标,选择“IOMLab.png”。
  7. 对于服务类型,输入“Fulfillment”。
  8. 选择保存并关闭

向解决方案中添加提供程序定义

要向解决方案中添加提供程序定义,请执行以下步骤。

  1. 转到 Power App Maker portal,导航到新创建的解决方案 IOMLabProviders
  2. 选择添加现有 > IOM 提供程序定义
  3. 选择 IOMLabFulfillmentProvider,然后选择添加以将其添加到解决方案中。

创建提供程序操作以将履行有效负载发送到 Outlook

要创建提供程序操作以将履行有效负载发送到 Outlook,请执行以下步骤。

  1. 转到 Power App Maker portal,导航到解决方案

  2. 打开默认解决方案

  3. 选择新建

  4. 选择云端流,然后将其命名为“IOM Lab Send To Fulfillment (Outlook)”。

  5. 为触发器类型选择 HTTP 触发器

    1. 定义一个 Power Automate 触发器。 这通常是一个 HTTP 终结点,它是一个 webhook 触发器(推荐)、连接器触发器或一个 Dataverse 插入触发器。 当外部服务有数据要发送到 Intelligent Order Management 时,触发器会被触发。 收到 HTTP 请求时触发器的屏幕截图。

    在 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"
        ]
    }
    

变量初始化操作

  1. 添加一个尝试范围。

  2. 尝试范围内,添加一个执行未绑定的操作操作,如下所示:

    • ProviderActionExecutionEventId:在 Dynamic content 下,选择 ProviderActionExecutionEventId
    • PowerAutomateRunId:将以下内容指定为表达式:workflow()['run']?['name']

    尝试范围

  3. 添加按 ID 获取行操作,然后执行以下操作:

    • 对于表名称,输入“Fulfillment Orders”。
    • 对于行 ID,在动态内容下选择 EntityRecordId

    “获取行 ID”操作

  4. 从 Outlook.com 连接器添加发送电子邮件操作,如下所示。 有几个电子邮件连接器,请确保选择 Outlook.com,因为这是之前设置的连接。

    • 收件人行上,“placeholder@placeholder.com”用作占位符文本。 这将在后面的步骤中由提供程序参数替换。
    • 主题行上,“名称”是从动态内容下的获取履行订单步骤中获取的。
    • 对于正文,将以下内容指定为表达式:outputs('Get_fulfillment_order')['body']

    “发送电子邮件”操作

  5. 添加一个列出行操作,如下所示:

    • 对于表名称,输入“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>
    

    “列出行”操作

  6. 添加一个具有发送电子邮件操作的应用于每个控件,如下所示:

    • 是从动态内容下的获取履行订单行步骤中获取的。
    • 名称是从动态内容下的获取履行订单行步骤中获取的。
    • 当前物料是从动态内容下选择的。

    “应用于每个”控件

  7. 在循环中,添加一个附加到数组变量操作,如下所示:

    • 对于名称,输入“ProcessedFulfillmentOrderLines”。
    • 对于,从动态内容下选择履行行 ID

    “附加到数组”操作(履行)

  8. 在循环中,再添加一个附加到数组变量操作,如下所示:

    • 对于名称,输入“ProcessedSalesOrderLines”。
    • 对于,从动态内容下选择销售行 ID

    “附加到数组”操作(销售)

  9. 通过选择其标题栏来折叠尝试范围。

  10. 选择新步骤,并添加另一个名为“捕获”的范围。

  11. 捕获范围上,选择省略号(“...”),选择配置在以下时间之后运行,配置如下:

    • 选中已失败复选框。
    • 选中已超时复选框。

    “捕获”范围

  12. 捕获范围中,选择添加操作,然后添加一个设置变量操作,并将其重命名为“将执行结果设置为失败”。

  13. 如下所示配置属性:

    • 对于名称,输入“ExecutionResult”。
    • 对于,输入“false”。

    设置变量

  14. 选择新步骤,并添加另一个名为“最终”的范围。

  15. 最终范围上,选择省略号(“...”),选择配置在以下时间之后运行,配置如下:

    • 选中成功复选框。
    • 选中已超时复选框。
    • 选中已跳过复选框。
    • 选中已超时复选框。

    “最终”范围

  16. 最终范围中,添加一个“条件”步骤并将 ExecutionResult 变量与 true 进行比较,如下所示:

    • 在第一个字段中,选择 ExecutionResult 变量。
    • 在第二个字段中,选择等于
    • 在第三个字段中,选择 true

    “条件”步骤

  17. 如果是分支中,添加一个运行子流操作并将其重命名为“为已处理的履行订单行引发业务事件”。

  18. 如下所示配置属性:

    • 对于子流,输入“IOM 引发业务事件”。
    • 对于 BusinessEventDefinitionId,输入“063d85c8-60a4-eb11-9443-000d3a313675”。
    • 对于 EntityRecordId,将以下内容指定为表达式:string(variables('ProcessedFulfillmentOrderLines'))

    “运行子流”操作(业务事件)

  19. 如果是分支中,再添加一个运行子流操作并将其重命名为“引发销售订单聚合事件”。

  20. 如下所示配置属性:

    • 对于 LineBusinessEventDefinitionId,输入“ccf64002-61a4-eb11-9443-000d3a313675”。
    • 对于 LineRecordId,将以下内容指定为表达式:string(variables('ProcessedSalesOrderLines'))
    • 对于 OrderBusinessEventDefinitionId,输入“48688716-61a4-eb11-9443-000d3a313675”。

    “运行子流”操作(聚合事件)

  21. “折叠条件”步骤。

  22. 添加一个执行未绑定的操作操作,如下所示:

    • 对于操作名称,输入“msdyn_CompleteProviderActionExecution”。
    • 对于 ExecutionResult,从动态内容下选择 ExecutionResult 变量。
    • 对于 ProviderActionExecutionEventId动态内容下选择 ProviderActionExecutionEventId

    执行未绑定的操作

  23. 选择保存

向 Outlook 提供程序定义中添加提供程序定义逻辑定义

要向 Outlook 提供程序定义中添加提供程序定义逻辑定义,请执行以下步骤。

  1. 转到提供程序 > 目录
  2. 选择新创建的 IOMLabFulfillmentProvider
  3. 在菜单栏上选择编辑
  4. 选择逻辑定义选项卡。
  5. 选择 + 新建 IOM 提供程序定义逻辑定义
  6. 对于显示名称,输入“IOM Lab Send to Fulfillment (Outlook)”。
  7. 对于逻辑名称,输入“msdyn_LabSentToFulfillmentOutlook”。
  8. 对于提供程序定义,输入“IOMLabFulfillmentProvider”。
  9. 对于逻辑类型,输入“提供程序操作”。
  10. 对于工作流名称,输入“IOM Lab Send to Fulfillment (Outlook)”。
  11. 对于超时分钟数,输入“2”。
  12. 对于最大重试次数,输入“3”。
  13. 对于描述,输入“IOM 实验室发送以供履行 (Outlook)”。
  14. 对于操作类型,输入“发送以供履行”。
  15. 选择保存。 这将生成消息处理程序云端流的 JSON 表示形式并填充客户端数据字段。
  16. 将占位符电子邮件替换为提供程序参数,如下所示:
    1. 复制客户端数据字段中的文本块并将其粘贴到记事本中。
    2. 在文本块中,找到“placeholder@placeholder.com”并将其替换为“{{IOMLabOutboundFulfillmentEmail}}”。
    3. 将修改后的文本块复制回客户端数据字段中。
    4. 选择保存并关闭
  17. 选择连接。 您应该会看到列出了 Microsoft DataverseOutlook.com 连接引用定义。

向 Outlook IOMLabProviders 解决方案中添加提供程序定义逻辑定义

要向 Outlook IOMLabProviders 解决方案中添加提供程序定义逻辑定义,请执行以下步骤。

  1. 转到 Power App Maker portal,导航到新创建的解决方案 IOMLabProviders
  2. 选择添加现有 > IOM 提供程序定义逻辑定义
  3. 选择 IOM Lab Send To Fulfillment (Outlook),然后选择添加以将其添加到解决方案中。

向 IOMLabProviders 解决方案中添加提供程序定义连接引用

要向 IOMLabProviders 解决方案中添加提供程序定义连接引用,请执行以下步骤。

  1. 转到 Power App Maker portal,导航到新创建的解决方案 IOMLabProviders
  2. 选择添加现有 > IOM 提供程序定义连接引用
  3. 选择 Microsoft DataverseOutlook.com 提供程序定义连接引用,然后选择添加以将其添加到解决方案中。

创建提供程序操作以将履行有效负载发送到 RequestBin

要创建提供程序操作以将履行有效负载发送到 RequestBin,请执行以下步骤。

  1. 转到 Power App Maker portal,导航到解决方案

  2. 打开默认解决方案

  3. 选择新建

  4. 选择云端流,然后将其命名为“IOM Lab Send To Fulfillment (RequestBin)”。

  5. 为触发类型选择手动触发流,然后执行以下操作:

    1. 选择添加输入,选择文本,然后在第一个字段中输入“ProviderActionExecutionEventId”。
    2. 选择添加输入,选择文本,然后在第一个字段中输入“EntityRecordId”。

    手动触发流属性 (RequestBin)

  6. 创建一个变量初始化操作:

    • 对于名称,输入“ExecutionResult”。
    • 对于类型,选择布尔
    • 对于,输入“true”。
  7. 创建第二个变量初始化操作:

    • 对于名称,输入“ProcessedSaleOrderLines”。
    • 对于类型,选择数组
  8. 再创建第三个变量初始化操作:

    • 对于名称,输入“ProcessedFulfillmentOrderLines”。
    • 对于类型,选择数组

    变量初始化操作 (RequestBin)

  9. 添加一个尝试范围。

  10. 尝试范围内,添加一个执行未绑定的操作操作,如下所示:

    • ProviderActionExecutionEventId:在 Dynamic content 下,选择 ProviderActionExecutionEventId
    • PowerAutomateRunId:将以下内容指定为表达式:workflow()['run']?['name']

    “尝试”范围 (RequestBin)

  11. 添加一个按 ID 获取行操作,然后进行以下配置:

    • 对于表名称,输入“Fulfillment Orders”。
    • 对于行 ID,在动态内容下选择 EntityRecordId

    “获取行 ID”操作 (RequestBin)

  12. 从 RequestBin 连接器中添加一个创建履行订单操作,如下所示。

    • 对于正文,从动态内容下选择正文

    “创建履行订单”操作

  13. 添加一个列出行操作,如下所示:

    • 对于表名称,输入“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>
    

    “列出行”操作

  14. 从 RequestBin 连接中添加一个具有创建履行订单行操作的“应用于每个”控件,如下所示:

    • 是从动态内容下的获取履行订单行步骤中获取的。
    • 当前物料是从动态内容下选择的。

    “应用于每个”控件 (Requestbin)

  15. 在循环中,添加一个附加到数组变量操作,如下所示:

    • 对于名称,输入“ProcessedFulfillmentOrderLines”。
    • 对于,从动态内容下选择履行行 ID

    “附加到数组”操作(履行)

  16. 在循环中,再添加一个附加到数组变量操作,如下所示:

    • 对于名称,输入“ProcessedSalesOrderLines”。
    • 对于,从动态内容下选择销售行 ID

    “附加到数组”操作(销售)

  17. 通过选择其标题栏来折叠尝试范围。

  18. 选择新步骤,并添加另一个重命名为“捕获”的范围。

  19. 捕获范围上,选择省略号(“...”),选择配置在以下时间之后运行,配置如下:

    • 选中已失败复选框。
    • 选中已超时复选框。

    “捕获”范围

  20. 捕获范围中,选择添加操作,然后添加一个设置变量操作,并将其重命名为“将执行结果设置为失败”。

  21. 如下所示配置属性:

    • 对于名称,输入“ExecutionResult”。
    • 对于,输入“false”。

    设置变量

  22. 选择新步骤,并添加另一个重命名为“最终”的范围。

  23. 最终范围中,选择省略号(“...”),选择配置在以下时间之后运行,配置如下:

    • 选中成功复选框。
    • 选中已超时复选框。
    • 选中已跳过复选框。
    • 选中已超时复选框。

    “最终”范围

  24. 最终范围中,添加一个“条件”步骤并将 ExecutionResult 变量与 true 进行比较,如下所示:

    • 在第一个字段中,选择 ExecutionResult 变量。
    • 在第二个字段中,选择等于
    • 在第三个字段中,选择 true

    “条件”步骤

  25. 如果是分支中,添加一个运行子流操作并将其重命名为“为已处理的履行订单行引发业务事件”。

  26. 如下所示配置属性:

    • 对于子流,输入“IOM 引发业务事件”。
    • 对于 BusinessEventDefinitionId,输入“063d85c8-60a4-eb11-9443-000d3a313675”。
    • 对于 EntityRecordId,将以下内容指定为表达式:string(variables('ProcessedFulfillmentOrderLines'))

    “运行子流”操作(业务事件)

  27. 如果是分支中,再添加一个运行子流操作并将其重命名为“引发销售订单聚合事件”。

  28. 如下所示配置属性:

    • 对于 LineBusinessEventDefinitionId,输入“ccf64002-61a4-eb11-9443-000d3a313675”。
    • 对于 LineRecordId,将以下内容指定为表达式:string(variables('ProcessedSalesOrderLines'))
    • 对于 OrderBusinessEventDefinitionId,输入“48688716-61a4-eb11-9443-000d3a313675”。

    “运行子流”操作(聚合事件)

  29. “折叠条件”步骤。

  30. 添加一个执行未绑定的操作操作,如下所示:

    • 对于操作名称,输入“msdyn_CompleteProviderActionExecution”。
    • 对于 ExecutionResult,从动态内容下选择 ExecutionResult 变量。
    • 对于 ProviderActionExecutionEventId动态内容下选择 ProviderActionExecutionEventId

    执行未绑定的操作

  31. 选择保存

向提供程序定义中添加提供程序定义逻辑定义 (RequestBin)

要向 RequestBin 提供程序定义中添加提供程序定义逻辑定义,请执行以下步骤。

  1. 转到提供程序 > 目录
  2. 选择新创建的 IOMLabFulfillmentProvider
  3. 在菜单栏上选择编辑
  4. 选择逻辑定义选项卡。
  5. 选择 + 新建 IOM 提供程序定义逻辑定义
  6. 对于显示名称,输入“IOM Lab Send to Fulfillment (RequestBin)”。
  7. 对于逻辑名称,输入“msdyn_LabSentToFulfillmentRequestBin”。
  8. 对于提供程序定义,输入“IOMLabFulfillmentProvider”。
  9. 对于逻辑类型,输入“提供程序操作”。
  10. 对于工作流名称,输入“IOM Lab Send to Fulfillment (RequestBin)”。
  11. 对于超时分钟数,输入“2”。
  12. 对于最大重试次数,输入“3”。
  13. 对于描述,输入“IOM 实验室发送以供履行 (RequestBin)”。
  14. 对于操作类型,输入“发送以供履行”。
  15. 选择保存。 这将生成消息处理程序云端流的 JSON 表示形式并填充客户端数据字段。
  16. 选择保存并关闭
  17. 选择连接。 您应该会看到列出了 Microsoft DataverseOutlook.comRequestBin 连接引用定义。

向提供程序定义中添加提供程序定义参数

要向提供程序定义中添加提供程序定义参数,请执行以下步骤。

  1. 选择参数
  2. 选择 + 新建 IOM 提供程序参数
  3. 对于显示名称,输入“IOMLAbOutboundFulfillmentEmail”。
  4. 对于数据类型,输入“文本”。
  5. 对于提供程序定义,输入“IOMLabFulfillmentProvider”。
  6. 对于,输入“IOMLabOutboundFulfillmentEmail”。
  7. 对于逻辑名称,输入“msdyn_IOMLabOutboundFulfillmentEmail”。
  8. 对于为必填项,输入“是”。
  9. 选择保存并关闭

向 IOMLabProviders 解决方案中添加提供程序定义逻辑定义 (RequestBin)

要向 RequestBin IOMLabProviders 解决方案中添加提供程序定义逻辑定义,请执行以下步骤。

  1. 转到 Power App Maker portal,导航到新创建的解决方案 IOMLabProviders
  2. 选择添加现有 > IOM 提供程序定义逻辑定义
  3. 选择 IOM Lab Send To Fulfillment (RequestBin),然后选择添加以将其添加到解决方案中。

向 IOMLabProviders 解决方案中添加提供程序定义连接引用

要向 IOMLabProviders 解决方案中添加提供程序定义连接引用,请执行以下步骤。

  1. 转到 Power App Maker portal,导航到新创建的解决方案 IOMLabProviders
  2. 选择添加现有 > IOM 提供程序定义连接引用
  3. 选择 RequestBin,然后选择添加以将其添加到解决方案中。

向 IOMLabProviders 解决方案中添加提供程序定义参数

要向 IOMLabProviders 解决方案中添加提供程序定义参数,请执行以下步骤。

  1. 转到 Power App Maker portal,导航到新创建的解决方案 IOMLabProviders
  2. 选择添加现有 > IOM 提供程序定义参数
  3. 选择 IOMLabOutboundFulfillmentEmail,然后选择添加以将其添加到解决方案中。

下一个快速入门实验室步骤:导出解决方案