Udostępnij za pośrednictwem


Krok nr 3. Tworzenie przepływu do przetwarzania kontraktów przy użyciu usługi Power Automate

Utworzono kanał zarządzania kontraktami i dołączono bibliotekę dokumentów programu SharePoint. Następnym krokiem jest utworzenie przepływu usługi Power Automate do przetwarzania kontraktów, które model Microsoft Syntex identyfikuje i klasyfikuje. Ten krok można wykonać , tworząc przepływ usługi Power Automate w bibliotece dokumentów programu SharePoint.

W przypadku rozwiązania do zarządzania kontraktami chcesz utworzyć przepływ usługi Power Automate w celu wykonania następujących akcji:

  • Po sklasyfikowaniu kontraktu według modelu Microsoft Syntex zmień stan kontraktu na W przeglądzie.
  • Umowa jest następnie przeglądana i zatwierdzana lub odrzucana.
  • W przypadku zatwierdzonych umów informacje o umowie są publikowane na karcie do przetwarzania płatności.
  • W przypadku odrzuconych kontraktów zespół jest powiadamiany o dalszej analizie.

Na poniższym diagramie przedstawiono przepływ usługi Power Automate dla rozwiązania do zarządzania kontraktami.

Diagram przepływu przedstawiający całe rozwiązanie.

Przygotowywanie kontraktu do przeglądu

Gdy kontrakt zostanie zidentyfikowany i sklasyfikowany przez model przetwarzania dokumentów bez struktury, przepływ usługi Power Automate najpierw zmieni stan na W przeglądzie.

Zaktualizuj stan.

Po wyewidencjonowania pliku zmień wartość stanu na W przeglądzie.

Stan przeglądu.

Następnym krokiem jest utworzenie karty adaptacyjnej z informacją, że kontrakt czeka na przegląd i zaksięguje ją w kanale Zarządzanie kontraktami.

Wpis przeglądu kontraktu.

Utwórz kartę adaptacyjną do przeglądu.

Poniższy kod to kod JSON używany w tym kroku w przepływie usługi 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"
    }
    }
]
}

Kontekst warunkowy

W przepływie należy utworzyć warunek, w którym umowa zostanie zatwierdzona lub odrzucona.

Warunkowy.

Jeśli umowa została zatwierdzona

Po zatwierdzeniu kontraktu występują następujące elementy:

  • Na karcie Kontrakty stan na karcie kontraktu zmienia się na Zatwierdzone.

    Stan karty został zatwierdzony.

  • W przepływie stan zostanie zmieniony na Zatwierdzone.

    Stan przepływu został zatwierdzony.

  • W tym rozwiązaniu dane kontraktu są dodawane do karty For Payout (Dla wypłat ), aby można było zarządzać wypłatami. Ten proces można rozszerzyć, aby umożliwić przepływowi przesyłanie umów do płatności przez aplikację finansową innej firmy (na przykład Dynamics CRM).

    Umowa została przeniesiona na wypłatę.

  • W przepływie utworzysz następujący element, aby przenieść zatwierdzone kontrakty na kartę For Wypłata .

    Przepływ elementu, aby przejść do wypłaty.

    Aby uzyskać wyrażenia dotyczące informacji potrzebnych z karty Teams, użyj wartości przedstawionych w poniższej tabeli.

    Name (Nazwa) Expression
    Stan zatwierdzenia body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')? ['submitActionId']
    Zatwierdzone przez body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')? ['responder']['displayName']
    Data zatwierdzenia body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')? ['responseTime']
    Komentowanie body('Post_an_Adaptive_Card_to_a_Teams_channel_and_wait_for_a_response')? ['dane']? ['acComments']

    W poniższym przykładzie pokazano, jak za pomocą pola formuły w usłudze Power Automate napisać wyrażenie.

    Zrzut ekranu w usłudze Power Automate przedstawiający formułę wyrażenia.

  • Karta adaptacyjna z informacją, że umowa została zatwierdzona, jest tworzona i publikowana w kanale Zarządzanie kontraktami.

    Zaksięgowano zatwierdzenie kontraktu.

    Adaptacyjne zatwierdzanie karty.

    Poniższy kod to kod JSON używany w tym kroku w przepływie usługi 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."
}

Jeśli umowa zostanie odrzucona

Po odrzuceniu kontraktu występują następujące elementy:

  • Na karcie Kontrakty stan na karcie kontraktu zmieni się na Odrzucony.

    Stan karty został odrzucony.

  • W przepływie wyewidencjonujesz plik kontraktu, zmienisz stan na Odrzucony, a następnie ponownie zaewidencjonujesz plik.

    Stan przepływu został odrzucony w pliku kontraktu.

  • W przepływie utworzysz kartę adaptacyjną z informacją, że umowa została odrzucona.

    Stan przepływu jest wyświetlany jako odrzucony na karcie adaptacyjnej.

Poniższy kod to kod JSON używany w tym kroku w przepływie usługi 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."
}
  • Karta jest publikowana w kanale Zarządzanie kontraktami.

    Karta adaptacyjna przepływu do odrzucenia.