Goddag alle sammen! I dag vil jeg gerne dele et lille eksempel på automatisering af processen til oprettelse af anmodninger om medarbejderafgange ved brug af Microsoft SharePoint, PowerApps, Power Automate og Teams. I implementeringen af denne proces er det ikke nødvendigt at købe separate PowerApps- og Power Automate-brugerplaner; det er tilstrækkeligt med et Office365 E1/E3/E5-abonnement. På SharePoint-webstedet opretter vi lister og kolonner, PowerApps hjælper med at lave en formular, og Power Automate giver muligheder for at tilpasse logikken i forretningsprocesserne. Den endelige proces forbinder vi med MS Teams. Lad os ikke spilde tid og se, hvad der kommer ud af det.

I den første fase opretter vi lister og parametre. Vi får brug for listerne:
- Anmodninger om medarbejderafgange
- Afdelinger
- HR pr afdeling
- Administratorer
Hver liste vil på et tidspunkt spille sin rolle, og vi vil se hvilken. Vi opretter parametre og tilpasser navigationsmenuen:

PowerApps
Lad os nu lave en formular til listen "Anmodninger om medarbejderafgange" ved hjælp af PowerApps. I sin endelige form vil den se således ud:

I feltet "Medarbejder" vælges der fra listen over Office 365-brugere, "Afgangs dato" vælges fra kalenderen, "Afdeling" vælges fra afdelingsregistret, og "HR" vælges fra registret "HR pr afdeling":

Men det er nødvendigt at sørge for, at listen over HR, der er tilgængelige for valg, filtreres efter den afdeling, der er angivet i formularen. Vi vil bruge en formel til at filtrere dataene i PowerApps. For egenskaben "Items" i feltet "HR" skriver vi:

Desuden kan der på formularen gøres små indstillinger for standardværdien for feltet Status. For egenskaben "Default" i feltet "Status" skriver vi:

Hvis formularen til oprettelse af et element åbnes, vil værdien "Ny" blive indtastet i feltet "Status"; ellers vil feltet status på formularen blive udfyldt med værdien fra SharePoint-kolonnen for det aktuelle element.
Et af problemerne med PowerApps er, at det ikke er let at få data fra SharePoint-grupper. Dette gør det vanskeligt at indstille synlighed/tilgængelighed af felter eller objekter på formularen, hvis du ønskede at binde det til en brugers medlemskab af en SharePoint-gruppe. Men der er en omgåelse. Specielt til dette formål har vi på forhånd oprettet en liste over Administratorer:

Listen indeholder et felt "Medarbejder" med typen "Bruger eller gruppe", som kun vises i formularen, og et felt "Navn", hvor navnet på den valgte medarbejder kan skrives, og som kun vises i listevisningen. Lad os nu lave et lille trick i PowerApps. For eksempel kan vi indstille tilgængeligheden af et felt baseret på, om den nuværende bruger er i listen over Administratorer. Vi finder egenskaben "Display Mode" for feltet "Udgivelsesdato" og skriver:

Ifølge denne formel, hvis der er mindst én medarbejder i listen over Administratorer, hvis login matcher login for den nuværende bruger, så vil feltet være redigerbart, ellers vil det være tilgængeligt kun til visning. For større pålidelighed konverterer vi login til små bogstaver, da der kan opstå forskellige situationer.
Du har måske bemærket, at der er en knap "Handlinger vedrørende ansøgningen" i formularens overskrift:

Denne knap vil lede til en anden skærm, hvor alle mulige handlinger vedrørende ansøgningen er samlet for nemheds skyld:

Når der trykkes på hver knap, åbnes et ekstra handlingsvindue, for eksempel, hvis handlingen "Annullere ansøgningen" vælges, åbnes et ekstra vindue med mulighed for at indtaste en kommentar:

Når der trykkes på knappen "Bekræft", ændres status for ansøgningen, og dette kan gøres uden at starte et Power Automate-flow. Vi bruger funktionen "Patch" for egenskaben "OnSelect" for knappen:

Ved hjælp af funktionen Patch opdaterer vi elementet i ansøgningslisten ved at filtrere det efter ID for det nuværende element. Vi ændrer værdien af feltet "Status" og navigerer tilbage til hovedskærmen. Logikken for de øvrige handlingsknapper er den samme.
Det er nu tid til at indstille godkendelsesflowet. Lad os gøre det i den enkleste form.
Power Automate
Vores godkendelsesflow vil blive startet automatisk ved oprettelsen af en ansøgning. Under udførelsen vil status for ansøgningen blive ændret, leder for afdelingen vil blive hentet, og der vil blive sendt en mailunderretning om den nye ansøgning til lederen. For at bestemme lederen har vi en oversigt over "Afdelinger":

Opret Power Automate-flowet:

Under udførelsen af dette flow modtager lederen for afdelingen en mailunderretning om oprettelsen af en ny ansøgning og kan klikke på et link for at træffe en beslutning ved at trykke på knappen:

At tryk på knapperne «Godkend» eller «Afvis» medfører også, at en Power Automate-flow startes, hvilket ændrer status på ansøgningen og sender en mail til HR-specialisten:

Processen er klar.
Teams
Og den sidste detalje – organisering af samarbejdet omkring denne proces. Til dette forbinder vi processen med MS Teams-gruppen:

Nu har alle medlemmer af MS Teams-gruppen adgang til onboarding-processen på en særskilt faneblad.
Selvfølgelig kan man i logikken for flowet forudse en flertrins-godkendelse, og man kan også bruge komponenten Approvals til at tildele opgaver i Power Automate. Desuden kan man opsætte rapporter og lave meddelelser, som sendes til Microsoft Teams chatbotten. Men mere om det i næste artikler. Tak for opmærksomheden, og ha' en god dag alle sammen!
Kilde: habr.com
