Cześć wszystkim! Dziś chciałbym podzielić się małym przykładem automatyzacji procesu tworzenia zgłoszeń o odejście nowych pracowników z wykorzystaniem produktów Microsoft SharePoint, PowerApps, Power Automate i Teams. W realizacji tego procesu nie będzie konieczności zakupu indywidualnych planów użytkowników PowerApps i Power Automate, wystarczy subskrypcja Office365 E1/E3/E5. Na stronie SharePoint utworzymy listy i kolumny, PowerApps pomoże stworzyć formularz, a Power Automate zapewni możliwości do dostosowania logiki procesów biznesowych. Ostateczny proces połączymy z zespołem MS Teams. Nie traćmy więc czasu i zobaczmy, co z tego wyniknie.

Na pierwszym etapie tworzymy listy i atrybuty. Będą nam potrzebne listy:
- Zgłoszenia o odejście pracowników
- Działy
- HR według działów
- Administratorzy
Każda lista odegra swoją rolę i zobaczymy, jaką dokładnie. Tworzymy atrybuty i konfigurujemy menu nawigacji:

PowerApps
Teraz stwórzmy formularz dla listy „Zgłoszenia o odejście pracownika” z wykorzystaniem PowerApps. W końcowej wersji będzie wyglądał tak:

W polu „Pracownik” wybieramy z listy użytkowników Office 365, „Data odejścia” wskazywana jest z kalendarza, „Dział” wybierany jest z katalogu działów, a „HR” wybierany jest z katalogu „HR według działów”:

Musimy jednak sprawić, aby lista HR dostępnych do wyboru była filtrowana według wskazanego w formularzu działu. Skorzystamy z formuły do filtrowania danych w PowerApps. Dla właściwości „Items” pola „HR” wpisujemy:

Dodatkowo, w formularzu można wprowadzić małe ustawienia wartości domyślnej dla pola Status. Dla właściwości „Default” pola „Status” wpisujemy:

Jeśli otwierany jest formularz tworzenia elementu, to w polu „Status” zapisane będzie wartość „Nowa”, w przeciwnym razie w polu status na formularzu zostanie podstawiona wartość z kolumny SharePoint dla bieżącego elementu.
Jednym z problemów PowerApps jest trudność w łatwym uzyskaniu danych z grup SharePoint. W związku z tym nie można łatwo skonfigurować widoczności/dostępności pól lub obiektów w formularzu, jeśli chciałeś, aby zależało to od przynależności użytkownika do grupy SharePoint. Ale można dokonać okrężnego manewru. Specjalnie w tym celu stworzyliśmy wcześniej listę Administratorzy:

Na tej liście znajduje się pole „Pracownik” typu „Użytkownik lub grupa”, które jest wyświetlane tylko w formularzu, oraz pole „Nazwa”, w które wpisywane jest imię wybranego pracownika, wyświetlane tylko w widoku listy. Teraz sprawdźmy w PowerApps mały trik. Na przykład, można skonfigurować dostępność dowolnego pola na podstawie obecności bieżącego użytkownika na liście Administratorzy. Znajdujemy właściwość „Tryb wyświetlania” pola „Data wyjścia” i wpisujemy:

Zgodnie z tym wzorem, jeśli na liście Administratorzy jest przynajmniej jeden pracownik, którego login odpowiada loginowi bieżącego użytkownika, pole będzie dostępne do edycji, w przeciwnym razie będzie tylko do odczytu. Dla większej pewności konwertujemy login na małe litery, bo różne sytuacje się zdarzają.
Mogłeś zauważyć, że w nagłówku formularza jest przycisk „Działania nad wnioskiem”:

Ten przycisk przekierowuje na inny ekran, gdzie dla wygody zebrano wszystkie możliwe działania nad wnioskiem:

Po naciśnięciu każdego przycisku otwiera się dodatkowe okno działań, na przykład, jeśli wybrano działanie „Anuluj wniosek”, to otwiera się dodatkowe okno z możliwością wprowadzenia komentarza:

Po naciśnięciu przycisku „Potwierdź” zmienia się status wniosku, a to możliwe nawet bez uruchamiania przepływu Power Automate. Skorzystamy z funkcji „Patch” dla właściwości „OnSelect” przycisku:

Za pomocą funkcji Patch aktualizujemy element listy wniosków, filtrując go według identyfikatora bieżącego elementu. Zmieniamy wartość pola „Status” i przechodzimy do głównego ekranu. Dla pozostałych przycisków działań logika jest analogiczna.
Pozostaje skonfigurować przepływ zatwierdzania. Zrobimy to w najprostszej formie.
Power Automate
Nasz przepływ zatwierdzania będzie uruchamiany automatycznie po utworzeniu wniosku. W trakcie jego realizacji nastąpi zmiana statusu wniosku, uzyskanie przełożonego jednostki i wysłanie powiadomienia e-mail o nowym wniosku do przełożonego. W celu określenia przełożonego mamy tabelę „Jednostki”:

Tworzymy przepływ Power Automate:

W trakcie realizacji tego przepływu przełożony jednostki otrzymuje powiadomienie e-mail o utworzeniu nowego wniosku i może przejść przez link, aby podjąć decyzję, naciskając przycisk:

Kliknięcie przycisku „Zatwierdź” lub „Odrzuć” powoduje również uruchomienie przepływu Power Automate, który zmienia status zgłoszenia i wysyła powiadomienie e-mail do specjalisty HR:

Proces gotowy.
Teams
I ostatni szlif – organizacja współpracy z tym procesem. W tym celu łączymy proces z zespołem MS Teams:

Teraz wszyscy uczestnicy zespołu MS Teams mają dostęp do procesu on-boardingowego nowych pracowników na osobnej karcie.
Oczywiście, w logice przepływu można przewidzieć wielostopniowe zatwierdzenie, a także można użyć komponentu Approvals do przypisywania zadań w Power Automate. Można również skonfigurować raporty i utworzyć powiadomienia, które będą wysyłane do bota czatu Microsoft Teams. Ale o tym w kolejnych artykułach. Dziękuję za uwagę i życzę wszystkim miłego dnia!
Źródło: habr.com
