Buongiorno a tutti! Oggi vorrei condividere un piccolo esempio di automazione del processo di creazione di richieste per l'uscita di nuovi dipendenti utilizzando i prodotti Microsoft SharePoint, PowerApps, Power Automate e Teams. Nella realizzazione di questo processo non sarà necessario acquistare piani utente separati di PowerApps e Power Automate, sarà sufficiente un abbonamento Office365 E1/E3/E5. Su SharePoint creeremo elenchi e colonne, PowerApps ci aiuterà a creare il modulo, mentre Power Automate fornirà le possibilità di configurare la logica dei processi aziendali. Collegheremo il processo finale al team di MS Teams. Non perdiamo tempo e vediamo cosa ne verrà fuori.

Nella prima fase creiamo gli elenchi e i requisiti. Avremo bisogno dei seguenti elenchi:
- Richieste di uscita dei dipendenti
- Dipartimenti
- HR per dipartimenti
- Amministratori
Ognuno di questi elenchi giocherà un ruolo e scopriremo quale. Creiamo i requisiti e configuriamo il menu di navigazione:

PowerApps
Ora, creiamo un modulo per l'elenco 'Richieste di uscita dei dipendenti' utilizzando PowerApps. Nella forma finale, apparirà in questo modo:

Nel campo «Dipendente» si effettua la selezione da un elenco di utenti di Office 365, la «Data di uscita» è selezionata dal calendario, il «Reparto» è specificato dall'elenco dei reparti e l'«HR» è scelto dall'elenco «HR per reparti»:

Ma è necessario fare in modo che l'elenco degli HR disponibili per la selezione venga filtrato in base al reparto specificato nel modulo. Utilizzeremo una formula per filtrare i dati in PowerApps. Per la proprietà «Items» del campo «HR» scriviamo:

Inoltre, nel modulo è possibile fare alcune piccole impostazioni per il valore predefinito del campo Stato. Per la proprietà «Default» del campo «Stato» scriviamo:

Se viene aperto il modulo di creazione di un elemento, nel campo «Stato» verrà registrato il valore «Nuovo», altrimenti, nel campo stato del modulo verrà inserito il valore dalla colonna SharePoint per l'elemento corrente.
Uno dei problemi di PowerApps è la difficoltà di ottenere facilmente dati dai gruppi di SharePoint. Di conseguenza, non è semplice configurare la visibilità o la disponibilità dei campi o degli oggetti nel modulo se si desidera fare riferimento all'appartenenza dell'utente a un gruppo di SharePoint. Tuttavia, è possibile eseguire una soluzione alternativa. Abbiamo creato in anticipo un elenco Appartenenza Amministratori:

In questo elenco è presente il campo "Dipendente" di tipo "Utente o gruppo", visibile solo nel modulo, e il campo "Nome", dove viene inserito il nome dell'utente selezionato, visibile solo nella vista elenco. Ora, procediamo in PowerApps con un piccolo trucco. Ad esempio, possiamo impostare la disponibilità di qualsiasi campo in base alla presenza dell'utente attuale nell'elenco Appartenenza Amministratori. Troviamo la proprietà "Display Mode" del campo "Data di uscita" e scriviamo:

Secondo questa formula, se nell'elenco Appartenenza Amministratori esiste almeno un dipendente il cui login corrisponde a quello dell'utente attuale, il campo sarà disponibile per la modifica, altrimenti sarà solo in visualizzazione. Per maggiore affidabilità, convertiamo il login in minuscolo, poiché possono verificarsi varie situazioni.
Potresti aver notato che nel titolo del modulo c'è un pulsante "Azioni sulla richiesta":

Questo pulsante ti porterà a un'altra schermata dove, per comodità, sono raccolte tutte le possibili azioni sulla richiesta:

Dopo aver premuto ogni pulsante, si apre una finestra di azioni. Ad esempio, se viene selezionata azione "Annulla richiesta", si apre una finestra aggiuntiva per inserire un commento:

Dopo aver premuto il pulsante "Conferma", lo stato della richiesta cambia, e questo può essere fatto anche senza avviare il flusso di Power Automate. Useremo la funzione "Patch" per la proprietà "OnSelect" del pulsante:

Con la funzione Patch aggiorniamo l'elemento dell'elenco delle richieste, filtrandolo per l'ID dell'elemento corrente. Cambiamo il valore del campo "Stato" e ritorniamo alla schermata principale. Per gli altri pulsanti, la logica è simile.
Resta da configurare il flusso di approvazione. Creeremo la versione più semplice.
Power Automate
Il nostro flusso di approvazione verrà avviato automaticamente al momento della creazione della richiesta. Durante l'esecuzione, si verificherà il cambio di stato della richiesta, il ricevimento del responsabile del dipartimento e l'invio di una notifica via mail al responsabile riguardo la nuova richiesta. Per determinare il responsabile, abbiamo un elenco denominato "Dipartimenti":

Creiamo un flusso Power Automate:

Durante l'esecuzione di questo flusso, il responsabile del dipartimento riceve una notifica via mail relativa alla creazione di una nuova richiesta e può seguire il link per prendere una decisione, cliccando sul pulsante:

Cliccare il pulsante "Approvare" o "Rifiutare" avvia anche un flusso di Power Automate che cambia lo stato della richiesta e invia una notifica via mail allo specialista HR:

Il processo è pronto.
Teams
E l'ultimo tocco – organizzazione della collaborazione con questo processo. Per questo, colleghiamo il processo al team di MS Teams:

Ora, tutti i membri del team di MS Teams hanno accesso al processo di onboarding dei nuovi dipendenti tramite una scheda dedicata.
Certamente, nella logica dei flussi si può prevedere un approccio di approvazione a più livelli e si ha anche la possibilità di utilizzare il componente Approvals per l'assegnazione delle attività in Power Automate. Inoltre, è possibile configurare report e generare notifiche che verranno inviate al chatbot di Microsoft Teams. Ma su questo parleremo nei prossimi articoli. Grazie per l'attenzione e buona giornata a tutti!
Fonte: habr.com
