Partage via


Étape 3. Utiliser Power Automate pour créer le flux de traitement de vos contrats

Vous avez créé votre canal De gestion des contrats et attaché votre bibliothèque de documents SharePoint. L’étape suivante consiste à créer un flux Power Automate pour traiter vos contrats que votre modèle Microsoft Syntex identifie et classifie. Vous pouvez effectuer cette étape en créant un flux Power Automate dans votre bibliothèque de documents SharePoint.

Pour votre solution de gestion des contrats, vous souhaitez créer un flux Power Automate pour effectuer les actions suivantes :

  • Une fois qu’un contrat a été classé par votre modèle de Microsoft Syntex, remplacez le status contrat par En révision.
  • Le contrat est ensuite examiné et approuvé ou rejeté.
  • Pour les contrats approuvés, les informations sur le contrat sont publiées dans un onglet pour le traitement des paiements.
  • Pour les contrats rejetés, l’équipe est avertie pour une analyse plus approfondie.

Le diagramme suivant montre le flux Power Automate pour la solution de gestion des contrats.

Diagramme de flux montrant l’ensemble de la solution.

Préparer votre contrat pour révision

Lorsqu’un contrat est identifié et classifié par votre modèle de traitement de document non structuré, le flux Power Automate remplace d’abord le status par En révision.

Mettre à jour status.

Après avoir extraire le fichier, remplacez la valeur status par En révision.

En révision status.

L’étape suivante consiste à créer un carte adaptatif indiquant que le contrat est en attente de révision et à le publier sur le canal De gestion des contrats.

Poste de révision de contrat.

Créez des carte adaptatifs pour révision.

Le code suivant est le code JSON utilisé pour cette étape dans le flux Power Automate.

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

Contexte conditionnel

Dans votre flux, vous devez ensuite créer une condition dans laquelle votre contrat sera approuvé ou rejeté.

Conditionnel.

Si le contrat est approuvé

Lorsqu’un contrat a été approuvé, les choses suivantes se produisent :

  • Sous l’onglet Contrats, le status dans le contrat carte devient Approuvé.

    La carte status approuvée.

  • Dans votre flux, le status est remplacé par Approuvé.

    Flux status approuvé.

  • Dans cette solution, les données du contrat sont ajoutées à l’onglet Pour le paiement afin que les paiements puissent être gérés. Ce processus peut être étendu pour permettre au flux de soumettre les contrats pour paiement par une application financière tierce (par exemple, Dynamics CRM).

    Le contrat a été déplacé vers Paiement out.

  • Dans le flux, vous créez l’élément suivant pour déplacer les contrats approuvés vers l’onglet Pour le paiement .

    Élément de flux à déplacer vers Paiement sortant.

    Pour obtenir les expressions pour les informations nécessaires à partir du carte Teams, utilisez les valeurs indiquées dans le tableau suivant.

    Nom Expression
    État d’approbation body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response') ? ['submitActionId']
    Approuvé par body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response') ? ['répondeur']['displayName']
    Date d’approbation body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response') ? ['responseTime']
    Commentaire body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response') ? ['data'] ? ['acComments']

    L’exemple suivant montre comment utiliser la zone de formule dans Power Automate pour écrire une expression.

    Capture d’écran dans Power Automate montrant une formule d’expression.

  • Un carte adaptatif indiquant que le contrat a été approuvé est créé et publié sur le canal De gestion des contrats.

    Approbation de contrat publiée.

    Approbation carte adaptative.

    Le code suivant est le code JSON utilisé pour cette étape dans le flux Power Automate.

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

Si le contrat est rejeté

Lorsqu’un contrat a été rejeté, les choses suivantes se produisent :

  • Sous l’onglet Contrats, le status dans le contrat carte devient Rejeté.

    Carte status rejetée.

  • Dans votre flux, vous case activée le fichier de contrat, remplacez le status par Rejeté, puis case activée le fichier.

    Le flux status rejeté dans le fichier de contrat.

  • Dans votre flux, vous créez un carte adaptatif indiquant que le contrat a été rejeté.

    Les status de flux indiquent rejetés sur les carte adaptatifs.

Le code suivant est le code JSON utilisé pour cette étape dans le flux Power Automate.

{ 
    "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."
}
  • Le carte est publié dans le canal Gestion des contrats.

    Flux carte adaptatifs à rejeter.