共用方式為


步驟 3. 使用Power Automate 建立流程來處理您的合約

您已建立合約管理通道,並已連結 SharePoint 文件庫。 下一個步驟是建立Power Automate流程,以處理您的 Microsoft Syntex 模型所識別和分類的合約。 您可以在 SharePoint 文件庫中建立 Power Automate 流程來執行此步驟。

針對合約管理解決方案,您想要建立Power Automate流程來執行下列動作:

  • 在合約由您的 Microsoft Syntex 模型分類之後,請將合約狀態變更為 [正在檢閱中]
  • 然後會檢閱合約,並核准或拒絕合約。
  • 對於已核准的合約,合約資訊會張貼到索引標籤以進行付款處理。
  • 對於遭拒絕的合約,小組會收到進一步分析的通知。

下圖顯示合約管理解決方案的Power Automate流程。

顯示整個解決方案的流程圖。

準備您的合約以供檢閱

當合約由您的非結構化文件處理模型識別並分類時,Power Automate 流程會先將狀態變更為 [正在檢閱]

更新狀態。

簽出檔案之後,將狀態值變更為 [檢閱中]

在 [檢閱狀態] 中。

下一個步驟是建立調適型卡片,指出合約正在等候檢閱,並將其張貼至合約管理通道。

合約檢閱文章。

建立調適型卡片以供檢閱。

下列程式代碼是Power Automate流程中用於此步驟的 JSON。

{
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.0",
"body": [
    {
    "type": "TextBlock",
    "text": "Contract approval request",
    "size": "large",
    "weight": "bolder",
     "wrap": true
    },
        {
            "type": "Container",
            "items": [
                {
                    "type": "FactSet",
                    "spacing": "Large",
                    "facts": [
                        {
                            "title": "Client",
                            "value": "@{triggerOutputs()?['body/Client']}"
                        },
                        {
                            "title": "Contractor",
                            "value": "@{triggerOutputs()?['body/Contractor']}"
                        },
                        {
                            "title": "Fee amount",
                            "value": "@{triggerOutputs()?['body/FeeAmount']}"
                        },
                        {
                            "title": "Date created",
                            "value": "@{triggerOutputs()?['body/Modified']} "
                        },
                        {
                            "title": "Link",
                            "value": "[@{triggerOutputs()?['body/{FilenameWithExtension}']}](@{triggerOutputs()?['body/{Link}']})"
                        }
                    ]
                }
            ]
         },
    {
    "type": "TextBlock",
    "text": "Comment:"
    },
        {
            "type": "Input.Text",
            "placeholder": "Enter comments",
            "id": "acComments"
        }
],
"actions": [
    {
    "type": "Action.Submit",
    "title": "Approve",
    "data": {
        "x": "Approve"
    }
    },
    {
    "type": "Action.Submit",
    "title": "Reject",
    "data": {
        "x": "Reject"
    }
    }
]
}

條件式內容

在您的流程中,接下來您必須建立一個條件,讓合約獲得 核准拒絕

有條件的。

如果合約已核准

當合約獲得核准時,會發生下列情況:

  • 在 [ 合約] 索引標籤上,合約卡片中的狀態會變更為 [ 已核准]

    卡片狀態已核准。

  • 在您的流程中,狀態會變更為 [ 已核准]

    已核准流程狀態。

  • 在此解決方案中,合約數據會新增至 [ 支付] 索 引標籤,以便管理支付。 此程式可以擴充,以允許流程提交第三方財務應用程式 (付款的合約,例如 Dynamics CRM) 。

    合約已移至支付。

  • 在流程中,您會建立下列專案,將核准的合約移至 [ 支付] 索引標籤

    要移至支付的流程專案。

    若要從 Teams 卡片取得所需資訊的運算式,請使用下表所示的值。

    名稱 Expression
    核准狀態 本文 (『Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response』) ?['submitActionId']
    核准者 本文 (『Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response』) ?['responder']['displayName']
    核准日期 本文 (『Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response』) ?['responseTime']
    註解 本文 (『Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response』) ?['data']?['acComments']

    下列範例示範如何使用Power Automate中的公式方塊來撰寫表達式。

    Power Automate 中顯示表達式公式的螢幕快照。

  • 系統會建立說明合約已核准的調適型卡片,並張貼到合約管理通道。

    已張貼合約核准。

    調適型卡片核准。

    下列程式代碼是Power Automate流程中用於此步驟的 JSON。

{ 
    "type": "AdaptiveCard",
    "body": [
        {
            "type": "Container",
            "style": "emphasis",
            "items": [
                {
                    "type": "ColumnSet",
                    "columns": [
                        {
                            "type": "Column",
                            "items": [
                                {
                                    "type": "TextBlock",
                                    "size": "Large",
                                    "weight": "Bolder",
                                    "text": "CONTRACT APPROVED"
                                }
                            ],
                            "width": "stretch"
                        }
                    ]
                }
            ],
            "bleed": true
        },
        {
            "type": "Container",
            "items": [
                {
                    "type": "FactSet",
                    "spacing": "Large",
                    "facts": [
                        {
                            "title": "Client",
                            "value": "@{triggerOutputs()?['body/Client']}"
                        },
                        {
                            "title": "Contractor",
                            "value": "@{triggerOutputs()?['body/Contractor']}"
                        },
                        {
                            "title": "Fee amount",
                            "value": "@{triggerOutputs()?['body/FeeAmount']}"
                        },
                        {
                            "title": "Approval by",
                            "value": "@{body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')?['responder']['displayName']}"
                        },
                        {
                            "title": "Approved date",
                            "value": "@{body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')?['responseTime']}"
                        },
                        {
                            "title": "Approval comment",
                            "value": "@{body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')?['data']?['acComments']}"
                        },
                        {
                            "title": " ",
                            "value": " "
                        },
                        {
                            "title": "Status",
                            "value": "Ready for payout"
                        }
                    ]
                }
            ]
        }
    ],
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "version": "1.2",
    "fallbackText": "This card requires Adaptive Cards v1.2 support to be rendered properly."
}

如果合約遭到拒絕

當合約遭到拒絕時,會發生下列情況:

  • 在 [ 合約] 索引標籤上,合約卡片中的狀態會變更為 [已拒絕]

    卡片狀態已拒絕。

  • 在您的流程中,您會簽出合約檔案、將狀態變更為 [已拒絕],然後再重新存回檔案。

    合約檔案中拒絕的流程狀態。

  • 在您的流程中,您會建立調適型卡片,指出合約已被拒絕。

    流量狀態在調適型卡片上顯示已拒絕。

下列程式代碼是Power Automate流程中用於此步驟的 JSON。

{ 
    "type": "AdaptiveCard",
    "body": [
        {
            "type": "Container",
            "style": "attention",
            "items": [
                {
                    "type": "ColumnSet",
                    "columns": [
                        {
                            "type": "Column",
                            "items": [
                                {
                                    "type": "TextBlock",
                                    "size": "Large",
                                    "weight": "Bolder",
                                    "text": "CONTRACT REJECTED"
                                }
                            ],
                            "width": "stretch"
                        }
                    ]
                }
            ],
            "bleed": true
        },
        {
            "type": "Container",
            "items": [
                {
                    "type": "FactSet",
                    "spacing": "Large",
                    "facts": [
                        {
                            "title": "Client",
                            "value": "@{triggerOutputs()?['body/Client']}"
                        },
                        {
                            "title": "Contractor",
                            "value": "@{triggerOutputs()?['body/Contractor']}"
                        },
                        {
                            "title": "Fee amount",
                            "value": "@{triggerOutputs()?['body/FeeAmount']}"
                        },
                        {
                            "title": "Rejected by",
                            "value": "@{body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')?['responder']['displayName']}"
                        },
                        {
                            "title": "Rejected date",
                            "value": "@{body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')?['responseTime']}"
                        },
                        {
                            "title": "Comment",
                            "value": "@{body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')?['data']?['acComments']}"
                        },
                        {
                            "title": " ",
                            "value": " "
                        },
                        {
                            "title": "Status",
                            "value": "Needs review"
                        }
                    ]
                }
            ]
        }
    ],
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "version": "1.2",
    "fallbackText": "This card requires Adaptive Cards v1.2 support to be rendered properly."
}
  • 卡片會張貼在合約管理通道中。

    要拒絕的流程調適型卡片。