Share via


Stap 3. Power Automate gebruiken om de stroom te maken voor het verwerken van uw contracten

U hebt uw contractbeheerkanaal gemaakt en uw SharePoint-documentbibliotheek gekoppeld. De volgende stap is het maken van een Power Automate-stroom voor het verwerken van uw contracten die uw Syntex-model identificeert en classificeert. U kunt deze stap uitvoeren door een Power Automate-stroom te maken in uw SharePoint-documentbibliotheek.

Voor uw oplossing voor contractbeheer wilt u een Power Automate-stroom maken om de volgende acties uit te voeren:

  • Nadat een contract is geclassificeerd door uw Syntex-model, wijzigt u de contractstatus in In revisie.
  • Het contract wordt vervolgens beoordeeld en goedgekeurd of afgekeurd.
  • Voor goedgekeurde contracten worden de contractgegevens op een tabblad geplaatst voor betalingsverwerking.
  • Voor geweigerde contracten wordt het team op de hoogte gesteld voor verdere analyse.

In het volgende diagram ziet u de Power Automate-stroom voor de oplossing voor contractbeheer.

Stroomdiagram met de volledige oplossing.

Uw contract voorbereiden voor beoordeling

Wanneer een contract wordt geïdentificeerd en geclassificeerd door uw ongestructureerde documentverwerkingsmodel, wijzigt de Power Automate-stroom eerst de status in In revisie.

Status bijwerken.

Nadat u het bestand hebt uitgecheckt, wijzigt u de statuswaarde in In revisie.

In controlestatus.

De volgende stap is het maken van een adaptieve kaart waarin wordt aangegeven dat het contract wacht op beoordeling en het op het contractbeheerkanaal wordt geplaatst.

Contractbeoordelingspost.

Maak adaptieve kaart ter controle.

De volgende code is de JSON die wordt gebruikt voor deze stap in de Power Automate-stroom.

{
"$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"
    }
    }
]
}

Voorwaardelijke context

Vervolgens moet u in uw stroom een voorwaarde maken waarin uw contract wordt goedgekeurd of geweigerd.

Voorwaardelijke.

Als het contract is goedgekeurd

Wanneer een contract is goedgekeurd, gebeurt het volgende:

  • Op het tabblad Contracten verandert de status op de contractkaart in Goedgekeurd.

    Kaartstatus goedgekeurd.

  • In uw stroom wordt de status gewijzigd in Goedgekeurd.

    Stroomstatus goedgekeurd.

  • In deze oplossing worden de contractgegevens toegevoegd aan het tabblad Voor uitbetaling , zodat de uitbetalingen kunnen worden beheerd. Dit proces kan worden uitgebreid, zodat de stroom de contracten voor betaling kan indienen door een financiële toepassing van derden (bijvoorbeeld Dynamics CRM).

    Contract verplaatst naar Betalen uit.

  • In de stroom maakt u het volgende item om goedgekeurde contracten te verplaatsen naar het tabblad Voor uitbetaling .

    Stroomitem dat u wilt verplaatsen naar Uitbetalen.

    Gebruik de waarden die in de volgende tabel worden weergegeven om de expressies voor de benodigde informatie op te halen uit de Teams-kaart.

    Naam Expression
    Goedkeuringsstatus body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')? ['submitActionId']
    Goedgekeurd door body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')? ['responder'] ['displayName']
    Goedkeuringsdatum body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')? ['responseTime']
    Opmerking body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')? ['gegevens']? ['acComments']

    In het volgende voorbeeld ziet u hoe u het formulevak in Power Automate gebruikt om een expressie te schrijven.

    Schermopname in Power Automate met een expressieformule.

  • Er wordt een adaptieve kaart gemaakt waarin wordt aangegeven dat het contract is goedgekeurd en in het contractbeheerkanaal geplaatst.

    Goedkeuring van contract is geboekt.

    Goedkeuring van adaptieve kaarten.

    De volgende code is de JSON die wordt gebruikt voor deze stap in de Power Automate-stroom.

{ 
    "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."
}

Als het contract wordt geweigerd

Wanneer een contract is geweigerd, gebeurt het volgende:

  • Op het tabblad Contracten verandert de status op de contractkaart in Geweigerd.

    Kaartstatus geweigerd.

  • In uw stroom checkt u het contractbestand uit, wijzigt u de status in Geweigerd en checkt u het bestand vervolgens weer in.

    Stroomstatus geweigerd in contractbestand.

  • In uw stroom maakt u een adaptieve kaart waarin staat dat het contract is geweigerd.

    Stroomstatus geeft geweigerd aan op adaptieve kaart.

De volgende code is de JSON die wordt gebruikt voor deze stap in de Power Automate-stroom.

{ 
    "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."
}
  • De kaart wordt gepost in het kanaal Contractbeheer.

    Adaptieve kaart voor stroom die moet worden geweigerd.