Bună ziua tuturor! Astăzi, aș dori să împărtășesc un mic exemplu de automatizare a procesului de creare a cererilor de plecare a noilor angajați utilizând produsele Microsoft SharePoint, PowerApps, Power Automate și Teams. În implementarea acestui proces, nu va fi necesară achiziția de planuri de utilizator separate pentru PowerApps și Power Automate, ci va fi suficient un abonament Office365 E1/E3/E5. Pe site-ul SharePoint, vom crea liste și coloane, PowerApps ne va ajuta să facem un formular, iar Power Automate va oferi posibilități pentru configurarea logici proceselor de afaceri. Procesul final va fi conectat la echipa MS Teams. Să nu pierdem vremea și să vedem ce va ieși din aceasta.

În prima etapă, creăm listele și detaliile. Ne vor trebui listele:
- Cererile de plecare a angajaților
- Subdiviziunile
- HR pe subdiviziuni
- Administratori
Fiecare listă va avea ulterior rolul său, iar noi vom vedea exact care este acela. Creăm detaliile și configurăm meniul de navigare:

PowerApps
Acum, să facem un formular pentru lista „Cererile de plecare a angajatului” utilizând PowerApps. În forma finală, va arăta astfel:

În câmpul „Angajat”, se va efectua selecția din lista utilizatorilor Office 365, „Data plecării” se va indica din calendar, „Subdiviziunea” se va specifica din registrul subdiviziunilor, iar „HR” se va alege din registrul „HR pe subdiviziuni”:

Dar trebuie să ne asigurăm că lista de HR disponibile pentru selecție este filtrată în funcție de subdiviziunea specificată în formular. Vom folosi o formulă pentru filtrarea datelor în PowerApps. Pentru proprietatea „Items” a câmpului „HR”, scriem:

În plus, în formular, putem face câteva ajustări ale valorii implicite pentru câmpul Status. Pentru proprietatea „Default” a câmpului „Status”, scriem:

Dacă se deschide formularul de creare a unui element, atunci în câmpul „Status” va fi înregistrată valoarea „Nou”, altfel, în câmpul statut din formular va fi introdusă valoarea din coloana SharePoint pentru elementul curent.
Una dintre problemele PowerApps este imposibilitatea de a obține ușor date din grupurile SharePoint. Din această cauză, nu este ușor să configurăm vizibilitatea/accesibilitatea câmpurilor sau obiectelor din formular dacă doriți să faceți legătura cu apartenența utilizatorului la un grup SharePoint. Dar putem face o manevră de ocolire. Special pentru aceasta, am creat anterior împreună cu dumneavoastră lista Administratorii:

În această listă se află câmpul „Angajat” de tip „Utilizator sau grup”, afișat doar în formular și câmpul „Nume”, în care se scrie numele angajatului selectat, afișat doar în vizualizarea listei. Acum, să facem un mic truc în PowerApps. De exemplu, putem seta disponibilitatea oricărui câmp în funcție de prezența utilizatorului curent în lista Administratorilor. Găsim proprietatea „Display Mode” a câmpului „Data ieșirii” și scriem:

Conform acestei formule, dacă în lista Administratorilor există cel puțin un angajat al cărui nume de utilizator se potrivește cu numele de utilizator al utilizatorului curent, atunci câmpul va fi disponibil pentru editare, altfel, va fi doar pentru vizualizare. Pentru o mai mare fiabilitate, convertim numele de utilizator în litere mici, căci se întâmplă tot felul de accidente.
Ați putea observa că în antetul formularului există un buton „Acțiuni pe cerere”:

Acest buton va efectua trecerea la un alt ecran, unde, pentru comoditate, sunt adunate toate acțiunile posibile pe cerere:

După apăsarea fiecărui buton se deschide o fereastră suplimentară de acțiuni, de exemplu, dacă se selectează acțiunea „Anulează cererea”, atunci se deschide o fereastră suplimentară cu posibilitatea de a introduce un comentariu:

După apăsarea butonului „Confirmă”, statusul cererii se schimbă, iar acest lucru este posibil de realizat chiar și fără a lansa fluxul Power Automate. Vom folosi funcția „Patch” pentru proprietatea „OnSelect” a butonului:

Folosind funcția Patch, actualizăm elementul din lista cererilor, filtrându-l după identificatorul elementului curent. Schimbăm valoarea câmpului „Status” și facem trecerea la ecranul principal. Logica pentru celelalte butoane de acțiune este similară.
Rămâne să configurăm fluxul de aprobat. Să-l facem în cea mai simplă formă.
Power Automate
Fluxul nostru de aprobat se va activa automat la crearea cererii. Pe parcursul desfășurării, va avea loc schimbarea statusului cererii, obținerea șefului de departament și trimiterea unei notificări prin e-mail către șeful departamentului despre noua cerere. Pentru a determina șeful, avem un catalog „Departamente”:

Creăm un flux Power Automate:

Pe parcursul desfășurării acestui flux, șeful de departament primește o notificare prin e-mail despre crearea unei noi cereri și poate accesa un link pentru a lua o decizie, apăsând pe buton:

Apasarea butonului „Aprobat” sau „Respins” de asemenea duce la declanșarea unui flux Power Automate care schimbă statutul cererii și trimite o notificare prin e-mail specialistului HR:

Procesul este finalizat.
Teams
Și ultima etapă – organizarea colaborării cu acest proces. Pentru aceasta, conectăm procesul la echipa MS Teams:

Acum, toți participanții echipei MS Teams au acces la procesul de integrare a noilor angajați pe o filă separată.
Desigur, în logica fluxului se poate prevedea o aprobată în mai multe etape, plus există posibilitatea de a utiliza componenta Approvals pentru a atribui sarcini Power Automate. De asemenea, se pot configura rapoarte și crea notificări care vor fi trimise în chatbotul Microsoft Teams. Dar despre asta în articolele următoare. Vă mulțumesc pentru atenție și vă doresc o zi plăcută!
Sursa: habr.com
