PowerApps w procesach HR: wniosek urlopowy, delegacje i umowy — 6 gotowych wzorców ekranów
Praktyczny przewodnik po budowie aplikacji HR w PowerApps: role, bezpieczeństwo, 6 wzorców ekranów (dashboard, lista, formularze, akceptacje, panel HR) oraz integracje z Teams/Outlook i Automate.
1. Wprowadzenie: cele aplikacji HR w PowerApps i założenia architektury
PowerApps coraz częściej staje się „warstwą operacyjną” dla procesów HR: umożliwia szybkie zbudowanie aplikacji, która prowadzi użytkownika przez wniosek, pilnuje podstawowych reguł biznesowych i zapewnia spójny sposób obsługi zgłoszeń niezależnie od typu sprawy. W kontekście HR najwięcej zyskują procesy powtarzalne, rozproszone (wiele osób i etapów) oraz te, które wymagają jasnego śladu audytowego.
W tym artykule punkt wyjścia stanowią trzy popularne obszary: wniosek urlopowy, delegacje oraz umowy. Każdy z nich ma inną dynamikę (od prostego zatwierdzenia po wieloetapową akceptację i kompletowanie załączników), ale można je ustandaryzować na poziomie interfejsu, danych i przepływów pracy.
Cele aplikacji HR: co ma realnie usprawnić PowerApps
Dobrze zaprojektowana aplikacja HR w PowerApps powinna rozwiązywać przede wszystkim problemy organizacyjne i jakościowe, a dopiero w drugiej kolejności „ładnie wyglądać”. Najczęstsze cele wdrożeniowe to:
- Jedno miejsce do składania i śledzenia wniosków – zamiast maili, plików i ręcznych list, pracownik ma spójny kanał obsługi.
- Ujednolicenie danych – wnioski mają wspólną strukturę (np. status, daty, identyfikator, załączniki), a różnice wynikają z typu sprawy, nie z narzędzia.
- Skrócenie czasu obsługi – mniej „ping-ponga” w komunikacji dzięki czytelnym statusom, wymaganym polom i dopilnowaniu kompletności.
- Większa kontrola i zgodność – możliwość wprowadzenia zasad (np. ograniczeń formalnych, wymaganych zgód, wymaganych załączników) oraz utrzymania historii decyzji.
- Transparentność – pracownik i manager widzą, na jakim etapie jest sprawa, bez dopytywania HR.
- Skalowalność – ten sam wzorzec można rozszerzać na kolejne procesy HR (np. szkolenia, benefity, zmiany danych pracownika).
W praktyce oznacza to połączenie trzech elementów: prostego interfejsu w PowerApps, danych trzymanych w uporządkowanym repozytorium oraz automatyzacji kroków wokół wniosku (powiadomienia, generowanie dokumentów, zadania akceptacyjne).
Założenia architektury: warstwy, które warto rozdzielić
Żeby aplikacja HR była łatwa w utrzymaniu i bezpieczna, architekturę warto zaprojektować warstwowo. Na poziomie koncepcyjnym można przyjąć następujące założenia:
- Warstwa interfejsu (PowerApps) – odpowiada za doświadczenie użytkownika, wprowadzanie danych, prezentację statusów i podstawową logikę ekranów. Interfejs powinien być możliwie „szablonowy”, aby te same wzorce działały dla urlopów, delegacji i umów.
- Warstwa danych – centralne miejsce przechowywania wniosków, słowników (np. typy wniosków, statusy) i powiązań (np. pracownik–manager). Kluczowe jest zachowanie spójnych identyfikatorów, historii zmian oraz możliwości raportowania.
- Warstwa automatyzacji (Power Automate) – uruchamia procesy „w tle”, takie jak powiadomienia, ścieżki akceptacji, aktualizacje statusów czy obsługa dokumentów i załączników. Pozwala też ograniczyć logikę w samej aplikacji.
- Warstwa integracji – łączy aplikację z narzędziami używanymi na co dzień (poczta, komunikator, repozytoria dokumentów), aby użytkownik nie musiał wykonywać ręcznych kroków poza aplikacją.
Taki podział pomaga uniknąć częstego błędu: „wszystko w jednej aplikacji i w jednym miejscu”, co utrudnia rozwój, testowanie i kontrolę dostępu. Architektura powinna też przewidywać, że część procesów będzie ewoluować (np. dodatkowy etap akceptacji w delegacjach lub nowe pola w umowach), dlatego elastyczność modelu danych i przepływów jest ważniejsza niż maksymalne „utwardzenie” na starcie.
Urlop, delegacja, umowa – podobne ramy, różne potrzeby
Chociaż te trzy typy spraw różnią się szczegółami, na poziomie aplikacji warto potraktować je jako odmiany jednego wzorca „wniosku”, który:
- ma inicjatora (pracownika),
- ma status i przewidywalny cykl życia,
- może wymagać akceptacji (jedno- lub wieloetapowej),
- może posiadać załączniki i komentarze,
- musi dawać się wyszukać, przefiltrować i raportować.
Różnice dotyczą głównie tego, jakie dane są wymagane, jakie reguły obowiązują i jak wygląda ścieżka decyzji. Wprowadzenie wspólnego szkieletu pozwala użytkownikom szybciej nauczyć się aplikacji, a zespołom IT/HR łatwiej utrzymać spójność procesu i danych.
Najważniejsze decyzje na start
Zanim powstaną pierwsze ekrany, warto ustalić kilka fundamentów, które determinują późniejszą jakość rozwiązania:
- Jak definiujemy wniosek i jego cykl życia – tak, aby statusy były jednoznaczne dla pracownika, managera i HR.
- Gdzie trzymamy dane i dokumenty – aby uniknąć duplikacji, rozjazdów wersji oraz problemów z uprawnieniami.
- Co jest logiką w aplikacji, a co w automatyzacji – żeby interfejs pozostał prosty, a procesy możliwe do zmiany bez przebudowy ekranów.
- Jak zapewniamy możliwość audytu – w szczególności dla decyzji, terminów i zmian statusów.
Te założenia tworzą bazę pod gotowe wzorce ekranów: od przeglądu wniosków, przez formularze, aż po widoki zarządcze. Dzięki nim aplikacja HR w PowerApps jest nie tylko „formularzem”, ale spójnym narzędziem procesowym, które da się rozwijać wraz z organizacją.
2. Role i uprawnienia: pracownik, manager, HR oraz model danych i bezpieczeństwa
W aplikacjach HR tworzonych w PowerApps kluczowe jest rozdzielenie ról i uprawnień tak, aby użytkownik widział wyłącznie dane potrzebne do wykonania swoich zadań. Taki podział porządkuje proces (kto inicjuje, kto akceptuje, kto administruje) i ogranicza ryzyko ujawnienia wrażliwych informacji. Ten artykuł powstał jako rozwinięcie jednego z najczęstszych tematów poruszanych podczas szkoleń Cognity. Najczęściej spotykany model obejmuje trzy role: pracownik, manager i HR, a bezpieczeństwo opiera się na kontroli dostępu do rekordów oraz atrybutów danych.
Role biznesowe i zakres działań
- Pracownik – składa wnioski (np. urlop, delegacja, umowa), monitoruje ich status, uzupełnia wymagane informacje i załączniki, odpowiada na prośby o korekty. Z perspektywy dostępu: widzi przede wszystkim własne wnioski oraz podstawowe informacje o procesie.
- Manager – podejmuje decyzje akceptacyjne dla wniosków podległych osób, może zwracać do poprawy, przekazywać do kolejnego etapu lub eskalować zgodnie z polityką organizacji. Z perspektywy dostępu: widzi wnioski osób ze swojego obszaru odpowiedzialności oraz informacje niezbędne do decyzji (bez nadmiarowych danych kadrowych).
- HR – pełni rolę nadzorczą i administracyjną: obsługuje wyjątki, finalizuje czynności kadrowe, zarządza słownikami i konfiguracją procesu, audytuje przebieg spraw. Z perspektywy dostępu: ma szerszy wgląd, ale nadal ograniczony do uzasadnionych danych i działań, zwykle z uwzględnieniem podziału na jednostki/regiony.
Model danych: minimalny zestaw encji i relacji
Aby role i uprawnienia działały przewidywalnie, model danych powinien rozdzielać „sprawę” od jej szczegółów i od logiki akceptacji. W praktyce wystarcza kilka podstawowych bytów:
- Wniosek – główny rekord procesu (typ: urlop/delegacja/umowa, wnioskodawca, daty, status, bieżący etap, identyfikatory powiązań).
- Szczegóły wniosku – dane specyficzne dla rodzaju wniosku (np. parametry delegacji, warunki umowy) oddzielone od rekordu głównego, aby ograniczać widoczność i uprościć walidacje.
- Ścieżka akceptacji – definicja i przebieg akceptacji (kto jest następnym akceptującym, jakie są etapy, jakie decyzje zapadły).
- Komentarze i historia – dziennik zdarzeń, który wspiera audyt i transparentność procesu, z kontrolą widoczności dla ról.
- Załączniki – przechowywane i udostępniane w sposób kontrolowany; dostęp do nich bywa bardziej restrykcyjny niż do samego wniosku.
- Słowniki i konfiguracja – listy wartości (np. typy wniosków, powody, kraje, centra kosztów) i ustawienia procesu, zwykle edytowalne wyłącznie przez HR.
Taki podział pozwala elastycznie rozwijać aplikację (dodawać nowe typy wniosków lub pola) bez „rozlewania” uprawnień i bez tworzenia monolitycznych formularzy, które trudno zabezpieczyć.
Bezpieczeństwo: zasady dostępu i separacja danych
Bez względu na to, czy dane są przechowywane w SharePoint czy Dataverse, warto oprzeć bezpieczeństwo na kilku stałych zasadach:
- Zasada minimalnych uprawnień – użytkownik ma tylko takie prawa, jakie są konieczne do realizacji jego roli.
- Dostęp do rekordów per właściciel/relacja – pracownik powinien mieć dostęp do własnych rekordów; manager do rekordów osób, za które odpowiada; HR do rekordów przypisanych do obsługi.
- Ograniczenie wrażliwych pól – dane szczególnie wrażliwe (np. elementy umów, dane finansowe delegacji) mogą wymagać dodatkowych ograniczeń na poziomie atrybutów lub odseparowania do osobnych encji.
- Rozdział uprawnień do odczytu i akcji – możliwość podglądu wniosku nie musi oznaczać możliwości jego edycji lub zatwierdzenia; akcje procesowe powinny być dostępne wyłącznie w odpowiednim statusie i dla właściwej roli.
- Pełna rozliczalność – każda decyzja i zmiana statusu powinna pozostawiać ślad (kto, kiedy, co zmienił), co wspiera audyt i analizę procesu.
Mapowanie ról na uprawnienia w aplikacji
W samej aplikacji PowerApps role przekładają się na to, jakie ekrany i sekcje są widoczne, jakie przyciski akcji są aktywne oraz jakie dane są ładowane do widoków. Przykładowo:
- pracownik widzi własne sprawy i ograniczony zestaw pól edycji;
- manager ma widok „do akceptacji” i dostęp do decyzji procesowych;
- HR ma widoki operacyjne i administracyjne oraz możliwość korekt w wyjątkach.
Istotne jest, aby logika widoczności w interfejsie była uzupełnieniem zabezpieczeń, a nie jedyną warstwą ochrony. W praktyce oznacza to spójność: to, co użytkownik widzi w aplikacji, powinno wynikać z tego, do czego faktycznie ma uprawnienia w źródle danych.
3. Wzorzec ekranu 1–2: Dashboard + Lista wniosków (filtry, wyszukiwanie, widoki ról, statusy)
Cel dwóch pierwszych ekranów
Pierwsze dwa ekrany aplikacji HR w PowerApps powinny odpowiadać na dwa pytania użytkownika: „co mam teraz do zrobienia?” (Dashboard) oraz „gdzie jest mój wniosek i na jakim etapie?” (Lista wniosków). To wzorzec, który sprawdza się niezależnie od typu procesu (wniosek urlopowy, delegacja, umowa), ponieważ porządkuje pracę wokół statusów, priorytetów i ról.
Ekran 1: Dashboard (start aplikacji)
Dashboard jest ekranem skrótów i podsumowań. Nie służy do przeglądania całej historii, tylko do szybkiego wejścia w najczęstsze akcje oraz wnioski wymagające reakcji. W praktyce składa się z kafelków KPI, sekcji „Moje” oraz sekcji „Do akceptacji” (dla ról, które akceptują).
- Kafelki/liczniki: np. „Wysłane”, „W trakcie”, „Do poprawy”, „Zatwierdzone”, „Odrzucone”.
- Szybkie akcje: przyciski typu „Nowy wniosek urlopowy”, „Nowa delegacja”, „Nowa umowa/zmiana”.
- Najpilniejsze elementy: lista kilku wniosków z terminem lub SLA (np. „wymaga decyzji dziś/jutro”).
- Widok rolowany: dashboard automatycznie dopasowuje sekcje do roli (pracownik widzi swoje wnioski; manager/HR dodatkowo widzi kolejkę akceptacji).
Najważniejsza zasada: dashboard ma minimalizować liczbę kliknięć do rozpoczęcia lub dokończenia zadania. Szczegółowe dane i ścieżka akceptacji pozostają poza nim (dashboard jedynie prowadzi do właściwego widoku).
Ekran 2: Lista wniosków (katalog + nawigacja)
Lista wniosków jest głównym „katalogiem pracy” i powinna umożliwiać szybkie zawężenie wyników przez filtry, wyszukiwanie i gotowe widoki. To tu użytkownik spędza najwięcej czasu na przeglądaniu, sortowaniu i przechodzeniu do szczegółów.
Minimalny zestaw kolumn i informacji
- Typ (urlop/delegacja/umowa) – najlepiej z ikoną lub krótkim tagiem.
- Numer/ID wniosku – do jednoznacznego odwołania.
- Wnioskodawca (w widokach managerskich/HR) lub „Ja” w widoku pracownika.
- Daty (np. od–do dla urlopu, data wyjazdu/powrotu dla delegacji, data obowiązywania dla umowy).
- Status – jako etykieta/„chip” kolorystyczny + tekst.
- Aktualny krok (np. „Manager”, „HR”, „Do uzupełnienia”) – krótko, bez szczegółowej historii.
- Ostatnia aktualizacja – ułatwia rozpoznanie świeżych zmian.
Filtry i wyszukiwanie
Filtry powinny być standardowe i powtarzalne dla wszystkich typów wniosków, z możliwością dodania filtrów specyficznych dopiero w miarę potrzeb. Kluczowa jest przewidywalność: te same filtry działają tak samo na wszystkich listach.
- Status: wielokrotny wybór (np. „Wysłany”, „W trakcie”, „Do poprawy”, „Zatwierdzony”, „Odrzucony”, „Anulowany”).
- Zakres dat: od–do (domyślnie np. ostatnie 30/90 dni).
- Typ wniosku: urlop/delegacja/umowa (pozwala obsłużyć jedną wspólną listę).
- Wnioskodawca: tylko dla ról managerskich/HR (np. osoby z zespołu).
- „Tylko wymagające mojej akcji”: przełącznik/checkbox dla akceptujących.
- Wyszukiwanie: pole tekstowe (ID, fragment nazwy typu, komentarz krótki, wnioskodawca) – zależnie od tego, co jest przechowywane w danych.
Gotowe widoki (pigułki/zakładki) zależne od roli
Zamiast zmuszać użytkownika do każdorazowego ustawiania filtrów, warto przygotować „widoki” jako zakładki lub przyciski. Każdy widok to zestaw filtrów, który można włączyć jednym kliknięciem.
| Rola | Przykładowe widoki w liście | Po co? |
|---|---|---|
| Pracownik | Moje aktywne, Do poprawy, Historia | Szybko znaleźć wnioski, które „utknęły” lub wymagają uzupełnienia |
| Manager | Do akceptacji, Wnioski zespołu, Zatwierdzone przeze mnie | Skupić się na kolejce decyzji i monitorowaniu zespołu |
| HR | Do weryfikacji, W toku, Wyjątki/odchylenia, Archiwum | Obsługa operacyjna i szybkie wychwytywanie nietypowych przypadków |
Statusy i oznaczenia wizualne (czytelność bez „czytania tabeli”)
Statusy są wspólnym językiem aplikacji. Na liście powinny być widoczne natychmiast, najlepiej w formie kolorowych etykiet, ale z zachowaniem dostępności (kolor + tekst). Oprócz statusu warto dodać proste znaczniki:
- „Wymaga mojej akcji” – ikona/znacznik wynikający z roli i kroku procesu.
- Priorytet/termin – np. ostrzeżenie przy zbliżającym się terminie.
- Błędy/kompletność – sygnał, że wniosek wrócił do poprawy lub brakuje danych.
Interakcje: szybkie akcje na liście vs. przejście do szczegółów
Lista powinna umożliwiać nawigację do szczegółów oraz podstawowe działania bez wchodzenia w pełny formularz. Nie chodzi o pełną obsługę procesu na liście, ale o skróty do najczęstszych kroków.
- Otwórz szczegóły: klik w wiersz/kafelek.
- Szybkie akcje (warunkowe): np. „Wycofaj” (dla pracownika na wczesnym etapie), „Otwórz do akceptacji” (dla managera/HR).
- Sortowanie: po dacie utworzenia, ostatniej aktualizacji, statusie.
Przykładowe podejście do filtrowania (uzupełniająco)
Poniżej uproszczony przykład formuły filtrującej rekordy po roli, statusie i wyszukiwaniu. Jest to jedynie ilustracja wzorca – konkretne pola i źródło danych mogą się różnić.
// Items galerii wniosków (przykład)
With(
{
q: Trim(txtSearch.Text),
onlyMine: togOnlyMine.Value,
onlyAction: togOnlyAction.Value
},
Filter(
Requests,
// „Moje” dla pracownika lub tryb zawężenia
(!onlyMine) || (CreatedByEmail = User().Email),
// Status (np. z kontrolki multi-select)
IsEmpty(colStatusFilter) || (Status in colStatusFilter),
// Wymaga mojej akcji
(!onlyAction) || (ActionRequiredForEmail = User().Email),
// Wyszukiwanie po ID lub tekście
IsBlank(q) || StartsWith(RequestNumber, q) || Find(Lower(q), Lower(Title)) > 0
)
)
Najważniejsze różnice między Dashboardem a Listą
| Cecha | Dashboard | Lista wniosków |
|---|---|---|
| Cel | Priorytety i szybkie wejście w zadania | Pełny przegląd, wyszukiwanie i filtrowanie |
| Zakres danych | Podsumowania + kilka najważniejszych rekordów | Wszystkie rekordy dostępne dla roli |
| Nawigacja | Kafelki prowadzą do widoków/list | Wiersz prowadzi do szczegółów konkretnego wniosku |
| Personalizacja pod rolę | Wysoka (różne sekcje i liczniki) | Średnia (widoki/filtry i zakres danych) |
Ten duet ekranów (Dashboard + Lista) buduje czytelny „kręgosłup” aplikacji: użytkownik zaczyna od priorytetów, a następnie przechodzi do kontrolowanego katalogu, w którym szybko odnajduje właściwy wniosek dzięki statusom, widokom i filtrom.
4. Wzorzec ekranu 3–4: Formularz wniosku + walidacje (urlop/delegacja/umowa) oraz integracje danych
Wzorce ekranów 3–4 obejmują formularz tworzenia/edycji wniosku oraz wspólne mechanizmy walidacji i pobierania danych. Celem jest standaryzacja sposobu wprowadzania informacji niezależnie od typu procesu HR, przy jednoczesnym dopasowaniu pól i reguł do: urlopu, delegacji i umowy. W praktyce najlepiej sprawdza się podejście: jeden spójny układ (nagłówek + sekcje), a zawartość sekcji przełączana zależnie od typu wniosku.
Ekran 3: Formularz wniosku – wspólny szkielet i warianty pól
Formularz warto budować jako zestaw sekcji, gdzie część jest wspólna dla wszystkich procesów (np. dane wnioskodawcy), a część pojawia się warunkowo. Dzięki temu użytkownik zawsze widzi znajomy układ, a aplikacja pozostaje łatwa do utrzymania.
| Obszar formularza | Wspólne elementy | Urlop | Delegacja | Umowa |
|---|---|---|---|---|
| Nagłówek | Typ wniosku, numer/ID (po zapisie), status roboczy | — | — | — |
| Wnioskodawca | Pracownik, dział, stanowisko, przełożony (autouzupełnianie) | — | — | — |
| Szczegóły | Opis/uzasadnienie, załączniki (opcjonalnie) | Rodzaj urlopu, zakres dat, liczba dni/godzin | Cel, miejsce, daty, środek transportu, kosztorys | Rodzaj umowy, okres, wymiar, stawka/warunki |
| Dodatkowe dane | Pola zależne od polityki firmy (słowniki) | Zastępstwo (osoba), kontakt podczas nieobecności | Rozliczenie zaliczki, dane hotelu/biletu (jeśli wymagane) | Załączniki: projekt/zakres, akceptacja budżetu (jeśli dotyczy) |
Wskazówka projektowa: zamiast tworzyć trzy zupełnie różne ekrany, lepiej użyć jednego ekranu z przełączaniem sekcji poprzez warunki (np. Visible) oraz wspólnym mechanizmem zapisu. To ogranicza duplikację i ułatwia wdrożenie zmian w UI.
Ekran 4: Walidacje – spójne reguły + reguły specyficzne dla typu
Walidacje powinny działać na dwóch poziomach: natychmiastowo w UI (podpowiedzi przy polach, blokady przycisku) oraz przy zapisie/wysłaniu (walidacja końcowa). Na tym etapie kluczowe jest rozdzielenie: zapis szkicu (mniej restrykcyjny) vs wyślij do akceptacji (pełne wymagania).
- Walidacje wspólne: wymagane pola identyfikacyjne, poprawny format dat/liczb, kontrola pustych wartości, limit długości opisu, wymagane załączniki (jeśli polityka tego wymaga).
- Walidacje dla urlopu: data od ≤ data do, brak nakładania na istniejące nieobecności, zgodność z limitem dostępnych dni (saldo), poprawne liczenie dni roboczych vs kalendarzowych (zależnie od typu urlopu).
- Walidacje dla delegacji: daty i godziny podróży, kompletność kosztów (jeśli wymagane), zgodność z limitem budżetu, sprawdzenie czy miejsce docelowe i środek transportu są wybrane ze słownika.
- Walidacje dla umowy: komplet warunków (okres, wymiar, stawka), zgodność dat z obowiązywaniem zatrudnienia/relacji, wymagane załączniki (np. skan/plik), kontrola wersji dokumentu (jeśli edycja).
Warto od razu założyć czytelne komunikaty błędów (krótko: co poprawić i gdzie) oraz widoczny stan formularza (np. lista błędów na górze + podświetlenie pól). Zespół trenerski Cognity zauważa, że właśnie ten aspekt (dobór reguł i komunikatów walidacyjnych) sprawia uczestnikom najwięcej trudności. Użytkownikom HR szczególnie pomaga rozróżnienie „brak danych” od „dane sprzeczne”.
Integracje danych w formularzu: autouzupełnianie i słowniki
Formularz HR jest najbardziej użyteczny, gdy minimalizuje ręczne wpisywanie. Dlatego ekran powinien pobierać dane referencyjne i kontekstowe oraz podpowiadać je użytkownikowi.
- Dane pracownika: automatyczne uzupełnienie działu, przełożonego, lokalizacji, typu etatu (z katalogu użytkowników i/lub bazy HR).
- Słowniki i listy wyboru: rodzaje urlopu, cele delegacji, środki transportu, typy umów, powody/uzasadnienia – jako źródła zarządzane centralnie (ułatwia spójność).
- Kalendarz i dostępność: pobranie informacji o dniach wolnych/świętach i istniejących nieobecnościach (do walidacji i podglądu).
- Budżet i koszty (delegacje): pobranie limitów lub centrów kosztów, aby użytkownik wybierał z listy, a nie wpisywał dowolny tekst.
- Dokumenty i załączniki: podpięcie plików do rekordu (zależnie od repozytorium) oraz kontrola typu/rozmiaru pliku.
Kluczowe jest, aby integracje były nieinwazyjne: dane mają się uzupełniać automatycznie, ale użytkownik powinien rozumieć ich źródło (np. etykieta „pobrane z profilu”) i mieć możliwość korekty tylko tam, gdzie polityka na to pozwala.
Minimalny przykład: blokada wysłania przy brakach i sprzecznych datach
Poniżej przykład podejścia, w którym przycisk „Wyślij” jest aktywny dopiero po spełnieniu podstawowych warunków. Kod jest celowo krótki i ma ilustrować wzorzec, nie kompletną implementację.
// Przykład (np. DisplayMode przycisku Wyślij)
If(
IsBlank(ddType.Selected.Value)
|| IsBlank(dtFrom.SelectedDate)
|| IsBlank(dtTo.SelectedDate)
|| dtFrom.SelectedDate > dtTo.SelectedDate,
DisplayMode.Disabled,
DisplayMode.Edit
)
W praktyce tę logikę warto rozszerzać o warunki zależne od typu (np. dla delegacji wymagany kosztorys, dla umowy wymagany załącznik), przy jednoczesnym zachowaniu wspólnego schematu: pola → reguły → komunikat → blokada akcji.
Różnice użytkowe między urlopem, delegacją i umową (z perspektywy formularza)
Choć wszystkie trzy procesy wyglądają podobnie (wypełnij → wyślij), różnią się charakterem danych, a więc i ergonomią formularza:
- Urlop: najczęściej „szybki” wniosek – priorytetem jest maksymalne skrócenie czasu wypełnienia, automatyczne liczenie dni i natychmiastowa walidacja konfliktów terminów.
- Delegacja: więcej pól warunkowych – formularz powinien prowadzić krokami (sekcjami) i wspierać kompletność informacji kosztowych.
- Umowa: nacisk na poprawność formalną i dokumenty – ważna jest kontrola wymaganych załączników, wersjonowanie oraz jednoznaczne warunki obowiązywania.
5. Wzorzec ekranu 5: Szczegóły wniosku i ścieżka akceptacji (komentarze, historia, SLA, eskalacje)
Ekran Szczegóły wniosku to miejsce, w którym użytkownik widzi „pełną prawdę” o sprawie: aktualny status, komplet danych, załączniki, osoby w procesie oraz przebieg akceptacji. W odróżnieniu od listy (która służy do nawigacji i filtrowania) ten widok skupia się na przejrzystości decyzji, rozliczalności i kontroli czasu reakcji (SLA).
Cel ekranu i kiedy go używać
- Pracownik: sprawdza, na jakim etapie jest wniosek, kto aktualnie akceptuje, jakie są komentarze i czy wymagane są poprawki.
- Manager / HR: podejmuje decyzję (zaakceptuj/odrzuć/odeślij do korekty), dodaje uzasadnienie, widzi historię oraz terminy SLA.
- Audyt / kontrola (w ramach uprawnień): weryfikuje ślad decyzyjny, daty, osoby i podstawę decyzji.
Układ ekranu: kluczowe bloki
- Header wniosku: typ (urlop/delegacja/umowa), numer/identyfikator, status, priorytet (opcjonalnie), informacje o wnioskodawcy.
- Podsumowanie: najważniejsze parametry dla danego typu wniosku (np. daty, cel, koszt, tryb umowy) w formie czytelnych kafli/sekcji.
- Akcje kontekstowe: przyciski decyzji widoczne tylko dla roli i etapu (np. „Akceptuj”, „Odrzuć”, „Poproś o uzupełnienie”, „Przekaż dalej”).
- Ścieżka akceptacji (timeline/stepper): lista kroków procesu z informacją „kto”, „kiedy”, „wynik” oraz aktualny krok.
- Komentarze: wątek komunikacji w ramach sprawy, z rozróżnieniem komentarzy wewnętrznych i widocznych dla wnioskodawcy (jeśli przyjęto taki podział).
- Historia zmian: log modyfikacji pól (np. zmiana dat, kwot, załączników), kto zmienił i dlaczego (jeśli wymagane).
- SLA i eskalacje: licznik czasu do terminu decyzji, przekroczenia oraz mechanizm eskalacji, widoczny w kontrolowany sposób.
Ścieżka akceptacji: co powinna pokazywać
Ścieżka akceptacji ma być „lekka” wizualnie, ale jednoznaczna. Najczęściej wystarczają trzy elementy na krok: osoba/rola, status kroku oraz znaczniki czasu. To ogranicza spory i skraca czas wyjaśnień.
| Element kroku | Po co | Przykładowa prezentacja |
|---|---|---|
| Status | Szybka ocena, czy coś „stoi” | Oczekuje / Zaakceptowano / Odrzucono / Do korekty |
| Właściciel kroku | Wiadomo, kto jest „na ruchu” | Manager linii / HR / Dział finansów (jeśli dotyczy) |
| Terminy | Kontrola SLA i podstawy do eskalacji | Start kroku, deadline, czas reakcji |
| Uzasadnienie decyzji | Minimalizuje ping-pong i poprawia audyt | Komentarz wymagany przy odrzuceniu |
Komentarze: komunikacja w kontekście sprawy
Komentarze w ekranie szczegółów pełnią dwie funkcje: koordynacyjną (pytania, prośby o uzupełnienie) oraz dowodową (uzasadnienia). Kluczowe jest rozróżnienie, które wpisy są „oficjalną notatką” procesu, a które są bieżącą wymianą informacji.
- Wymuszanie komentarza przy decyzjach negatywnych (odrzucenie) lub przy „do korekty”.
- Widoczność komentarza zależna od roli (np. komentarz wewnętrzny dla HR).
- Załączniki do komentarza tylko jeśli to konieczne (żeby nie dublować sekcji załączników wniosku).
Historia i audyt: minimalny, ale wiarygodny ślad
Historia zmian nie musi być rozbudowanym „dziennikiem wszystkiego”, ale powinna rejestrować zmiany istotne dla decyzji: pola krytyczne, zmiany statusu, podmiany załączników i przekazania kroku. Najważniejsze, aby wpisy były nieedytowalne i spójne czasowo.
- Status log: każde przejście statusu z datą i użytkownikiem.
- Change log: wybrane pola (np. daty urlopu, kwota delegacji, rodzaj umowy) – przed/po.
- Decyzje: kto, co, kiedy i na jakiej podstawie (komentarz/uzasadnienie).
SLA: jak pokazać czas i nie przeciążyć użytkownika
SLA na ekranie szczegółów powinno być czytelne i „działające”: użytkownik ma od razu rozumieć, czy sprawa jest w terminie i co oznacza przekroczenie. Zamiast wielu wskaźników, lepiej zastosować jeden licznik dla bieżącego kroku i ewentualnie prostą informację o naruszeniu.
- Countdown do deadline bieżącego kroku (np. „Pozostało: 6h”).
- Ostrzeżenie po przekroczeniu (np. „SLA przekroczone o 1d 2h”).
- Źródło terminu: zdefiniowane per typ wniosku lub per krok (bez wchodzenia w konfigurację).
Eskalacje: kontrolowane „popychanie” procesu
Eskalacje mają przyspieszać decyzję, a nie tworzyć konflikt. Dlatego w ekranie szczegółów zwykle ogranicza się je do dwóch zachowań: przypomnienia oraz przekazania odpowiedzialności (jeśli jest to dopuszczone procesowo). Widoczność i możliwość uruchomienia eskalacji powinna zależeć od roli oraz stanu SLA.
| Mechanizm | Kiedy | Efekt w UI |
|---|---|---|
| Przypomnienie do akceptującego | Zbliża się deadline lub jest po terminie | Akcja „Wyślij przypomnienie” + zapis w historii |
| Eskalacja do przełożonego / HR | Po przekroczeniu SLA (reguła) | Zmiana właściciela kroku lub dodanie równoległego akceptanta |
| Blokada eskalacji | Gdy brak podstaw (np. SLA jeszcze w terminie) | Przycisk ukryty lub wyszarzony z krótkim powodem |
Akcje decyzyjne: spójność i ograniczenie błędów
W ekranie szczegółów liczy się to, by użytkownik widział tylko te akcje, które może wykonać w danym kroku. Zamiast wielu przycisków, stosuje się zestaw 2–4 działań, a bardziej złożone opcje chowa pod menu „Więcej”.
- Akceptuj – kończy krok i przekazuje do następnego.
- Do korekty – cofa do wnioskodawcy z komentarzem.
- Odrzuć – zamyka proces; komentarz zwykle wymagany.
- Przekaż (opcjonalnie) – delegowanie akceptacji, jeśli polityka na to pozwala.
// Przykład: widoczność akcji w zależności od roli i właściciela kroku
btnApprove.Visible = (varUserRole in ["Manager","HR"]) && (ThisItem.CurrentApproverEmail = varUserEmail) && (ThisItem.Status = "Pending");
btnReject.DisplayMode = If(btnApprove.Visible, DisplayMode.Edit, DisplayMode.Disabled);
Najczęstsze pułapki i jak ich uniknąć
- Przeładowanie szczegółów: zamiast jednego długiego formularza, lepiej grupować w sekcje i pokazywać tylko kluczowe pola w podsumowaniu.
- Niejednoznaczna historia: brak różnicy między „komentarzem” a „uzasadnieniem” utrudnia audyt; warto rozdzielić te pojęcia w UI.
- Eskalacje bez śladu: każda eskalacja powinna zostawić wpis w historii (kto uruchomił, dlaczego, kiedy).
- Akcje dostępne dla niewłaściwej roli: nawet jeśli backend broni danych, UI powinno minimalizować ryzyko pomyłki przez ukrywanie/wyłączanie akcji.
6. Wzorzec ekranu 6: Panel managera/HR (kolejka zadań, masowe akcje, raporty, administracja słownikami)
Panel managera/HR to ekran operacyjny nastawiony na obsługę wielu spraw w krótkim czasie: przegląd zadań do akceptacji, praca na wyjątkach, szybkie decyzje oraz utrzymanie danych referencyjnych (słowników). W odróżnieniu od widoków pracownika, które skupiają się na pojedynczym wniosku, tutaj priorytetem jest kolejka, masowe działania i kontrola procesu.
Cel i zakres panelu
- Kolejka zadań dla managerów i HR: „do akceptacji”, „do wyjaśnienia”, „po terminie”, „wstrzymane”.
- Masowe akcje: zatwierdzenia/odrzucenia grupowe, przypisania, zmiana priorytetu, wysłanie prośby o uzupełnienie.
- Raporty operacyjne: obciążenie kolejki, czas obsługi, wnioski zaległe, rozkład statusów.
- Administracja słownikami: typy urlopów, cele delegacji, kategorie umów, listy krajów/miast, powody odrzucenia, progi SLA.
Różnice: manager vs HR (praktyczne zastosowania)
Najczęściej panel występuje w dwóch wariantach: dla managera (decyzje w swoim obszarze) oraz dla HR (nadzór i utrzymanie spójności danych). Różnice wynikają z odpowiedzialności i zakresu widoczności.
| Obszar | Manager | HR |
|---|---|---|
| Kolejka | Wnioski podległych osób, zastępstwa w zespole | Wnioski w całej organizacji lub przypisane do HR |
| Decyzje | Akceptacja/odrzucenie, prośba o uzupełnienie | Weryfikacja formalna, korekty danych, decyzje wyjątkowe |
| Masowe akcje | Przetwarzanie serii podobnych wniosków | Porządkowanie, re-przypisania, obsługa zaległości |
| Raporty | Statusy i zaległości w zespole | SLA, trendy, jakość danych, wąskie gardła procesu |
| Słowniki | Zwykle brak dostępu | Pełny dostęp (lub kontrolowany) do edycji referencji |
Układ ekranu: rekomendowane bloki
- Górny pasek KPI: liczba zadań „do mnie”, „po terminie”, „do wyjaśnienia”, średni czas w kolejce.
- Kolejka (galeria/tabela): wiersze z kluczowymi polami (typ wniosku, pracownik, daty, status, priorytet, termin/SLA, przypisanie).
- Panel filtrów: statusy, typ wniosku, jednostka/manager, zakres dat, priorytet, „tylko zaległe”.
- Panel szybkich akcji: przyciski masowe aktywne dopiero po zaznaczeniu pozycji.
- Zakładki: „Moja kolejka”, „Zespół”, „Wyjątki”, „Słowniki” (dla HR), „Raporty”.
Kolejka zadań: na co zwrócić uwagę w projekcie
Panel kolejki powinien minimalizować liczbę kliknięć do podjęcia decyzji. W praktyce oznacza to czytelne statusy, łatwe sortowanie oraz wyeksponowanie elementów ryzyka (np. zaległości). Dobrą praktyką jest rozróżnienie:
- pracy bieżącej (do akceptacji),
- pracy reaktywnej (po terminie / eskalacje),
- pracy korygującej (do wyjaśnienia / błędy formalne).
Masowe akcje: typowe scenariusze
Masowe działania są kluczowe, gdy proces generuje wiele podobnych wniosków (np. cykliczne urlopy, delegacje w tym samym okresie). W panelu warto przewidzieć zestaw akcji o jasno zdefiniowanych skutkach:
- Masowa akceptacja/odrzucenie — z jednym wspólnym komentarzem lub komentarzem opcjonalnym.
- Masowe przypisanie — przekazanie do konkretnej osoby HR lub zastępcy managera.
- Masowa prośba o uzupełnienie — wybór szablonu informacji zwrotnej (np. „brak załącznika”, „niezgodne daty”).
- Zmiana priorytetu — np. oznaczenie spraw krytycznych dla terminu wyjazdu/delegacji.
W PowerApps wygodny jest mechanizm wyboru wielu pozycji przez checkboxy w galerii oraz blokada akcji, jeśli zaznaczono elementy o niekompatybilnych statusach (np. część już zaakceptowana).
Raporty w panelu: minimum użyteczne
Raporty w tym ekranie mają charakter operacyjny (do zarządzania kolejką), a nie analityczny „zarządczy”. Najczęściej wystarcza zestaw prostych przekrojów:
- Rozkład statusów (ile wniosków jest na jakim etapie).
- Zaległości (lista i licznik po SLA/terminie).
- Czas obsługi (średni/mediana na etapie lub w całym procesie).
- Obciążenie (ile spraw przypisanych do osób/zespołów HR).
W samym panelu zwykle sprawdzają się proste wykresy i kafelki KPI oraz możliwość eksportu listy wyników do dalszej pracy. Cięższe analizy często realizuje się poza ekranem operacyjnym, aby nie przeciążać aplikacji.
Administracja słownikami: kontrola jakości danych
Moduł słowników w panelu HR ma ograniczać chaos w danych i ujednolicać wybory w formularzach. Najczęściej obejmuje:
- Wartości wyboru: typy wniosków, rodzaje urlopów, cele delegacji, typy umów.
- Reguły dostępności: aktywne/nieaktywne pozycje (bez usuwania historycznych danych).
- Mapowania: np. kategoria → wymagane załączniki, kraj → diety/limity (na poziomie słownika).
- Teksty systemowe: powody odrzucenia, szablony próśb o uzupełnienie.
W panelu warto przewidzieć prostą edycję tabelaryczną (lista + formularz edycji), walidacje unikalności (np. kod słownika) oraz mechanizm „tylko odczyt” dla wybranych ról.
Przykładowy szkic logiki UI (opcjonalnie)
// Widoczność zakładki "Słowniki" tylko dla HR
TabDictionaries.Visible = User().Email in colHrAdmins;
// Aktywność przycisku masowej akceptacji
btnApproveBulk.DisplayMode = If(CountRows(colSelectedRequests) > 0, DisplayMode.Edit, DisplayMode.Disabled);
Ten wzorzec ekranu porządkuje pracę osób decyzyjnych i administracyjnych: skraca czas obsługi, ogranicza liczbę błędów i pozwala utrzymać spójne dane referencyjne bez ingerencji w pojedyncze wnioski w trybie „jeden po drugim”.
7. Integracje i automatyzacje: Outlook, Teams, SharePoint, Dataverse, Power Automate (powiadomienia i dokumenty)
W aplikacjach HR budowanych w PowerApps integracje decydują o tym, czy proces jest „tylko formularzem”, czy realnie wspiera pracę organizacji: informuje właściwe osoby, archiwizuje dokumenty, utrzymuje spójność danych i zostawia audyt. Kluczowe jest rozdzielenie odpowiedzialności między warstwę aplikacji (zbieranie danych i praca użytkownika), warstwę danych (źródło prawdy) oraz automatyzacje (powiadomienia, akceptacje, generowanie dokumentów i synchronizacje).
Poniżej zestaw najczęstszych integracji i ich zastosowań w scenariuszach wniosku urlopowego, delegacji i umów — bez wchodzenia w implementacyjne szczegóły.
Outlook: komunikacja i kalendarze
Outlook najlepiej sprawdza się jako kanał powiadomień formalnych oraz element integracji z kalendarzem. W praktyce wykorzystywany jest do:
- powiadomień o złożeniu wniosku, prośbach o uzupełnienie, decyzjach oraz przypomnieniach o terminach;
- wysyłki potwierdzeń w formie wiadomości e-mail (np. z numerem sprawy i podsumowaniem);
- opcjonalnego odzwierciedlania zdarzeń w kalendarzu (np. urlop po akceptacji, delegacja w terminie podróży), gdy organizacja tego oczekuje.
Różnica względem Teams polega na większej „urzędowości” i trwałości wątku e-mail oraz naturalnym powiązaniu z kalendarzem użytkownika.
Teams: szybkie akcje i praca kontekstowa
Teams jest wygodny jako kanał operacyjny — do szybkiej reakcji, pracy w kontekście i komunikacji w zespole. Typowe zastosowania:
- powiadomienia w czatach lub kanałach o oczekujących akceptacjach i przekroczeniach SLA;
- kierowanie użytkownika bezpośrednio do rekordu w aplikacji (np. „otwórz wniosek”);
- komunikacja wokół sprawy (np. prośba o doprecyzowanie) tam, gdzie zespół i tak pracuje na co dzień.
W porównaniu do Outlooka Teams sprzyja krótszym cyklom decyzyjnym, ale nie zawsze jest traktowany jako kanał „dokumentujący” proces — dlatego często działa równolegle z e-mail.
SharePoint: dokumenty, załączniki i archiwum
SharePoint jest naturalnym wyborem do zarządzania plikami, gdy proces obejmuje załączniki i dokumenty (np. delegacje: bilety i faktury, umowy: skany, załączniki formalne). Najczęściej pełni rolę:
- repozytorium plików z kontrolą wersji i uprawnieniami;
- archiwum finalnych dokumentów (np. wygenerowanych PDF) w uporządkowanej strukturze;
- miejsca na szablony i wzory dokumentów, jeżeli organizacja utrzymuje je w SharePoint.
W odróżnieniu od Dataverse SharePoint jest skoncentrowany na plikach i współdzieleniu dokumentów, a nie na relacyjnych danych procesowych.
Dataverse: „źródło prawdy” dla danych HR
Dataverse jest warstwą danych nastawioną na spójność, relacje i bezpieczeństwo — szczególnie przydatną, gdy procesy HR rosną, obejmują wiele typów wniosków i wymagają kontroli dostępu na poziomie rekordów. Zwykle wykorzystuje się go do:
- przechowywania wniosków, statusów, historii zmian i metadanych procesu;
- powiązań między encjami (np. pracownik–wniosek–akceptacje–załączniki–koszty);
- utrzymania słowników i reguł, które muszą być konsekwentne w wielu aplikacjach;
- raportowania i analityki na danych transakcyjnych procesu.
W skrócie: Dataverse dobrze sprawdza się jako centralna baza procesu, podczas gdy SharePoint uzupełnia go w obszarze plików i dokumentów.
Power Automate: orkiestracja procesu i dokumentów
Power Automate jest „silnikiem” automatyzacji, który spina kanały komunikacji, warstwę danych i dokumenty. W scenariuszach HR najczęściej realizuje:
- powiadomienia wielokanałowe (e-mail/Teams) z logiką zależną od statusu i roli;
- akceptacje i zadania procesowe (kto ma zatwierdzić, kiedy, co przy eskalacji);
- tworzenie i porządkowanie dokumentów (np. generowanie podsumowania sprawy, nadanie numeru, umieszczenie pliku w repozytorium);
- synchronizacje i aktualizacje danych pomiędzy systemami, gdy organizacja posiada dodatkowe źródła informacji.
Istotne jest rozróżnienie: PowerApps obsługuje interakcję użytkownika, a Power Automate wykonuje działania „w tle” — szczególnie te, które muszą działać niezależnie od tego, czy użytkownik ma otwartą aplikację.
Minimalny zestaw integracji dla gotowych procesów HR
Dla większości organizacji sensownym punktem startu jest zestaw, który zapewnia kompletność procesu bez nadmiernej złożoności:
- Dataverse jako baza wniosków i statusów (spójność i raportowanie),
- SharePoint jako repozytorium plików (załączniki i finalne dokumenty),
- Power Automate jako warstwa automatyzacji (powiadomienia, akceptacje, dokumenty),
- Outlook i/lub Teams jako kanały komunikacji dobrane do kultury pracy (formalnie vs operacyjnie).
Taki układ pozwala skalować rozwiązanie: od prostych przepływów powiadomień po pełną orkiestrację akceptacji i automatyczne tworzenie dokumentów, bez mieszania logiki procesu w samych ekranach aplikacji.
8. Rekomendacje UX + checklisty: pola i statusy dla urlopów, delegacji i umów
Dobra aplikacja HR w PowerApps wygrywa nie liczbą funkcji, ale przewidywalnością: użytkownik ma szybko zrozumieć co ma uzupełnić, co się stanie po wysłaniu i na jakim etapie jest sprawa. Poniższe rekomendacje porządkują doświadczenie wniosków urlopowych, delegacji i umów tak, aby interfejs był spójny, a jednocześnie dopasowany do specyfiki każdego procesu.
Rekomendacje UX wspólne dla wszystkich typów wniosków
- Jednoznaczny punkt startu: przycisk „Nowy wniosek” z wyborem typu (Urlop / Delegacja / Umowa) oraz krótkim opisem, do czego służy dany typ.
- Minimum na start, reszta kontekstowo: pierwsze pola powinny pozwalać zapisać szkic (np. typ, daty, osoba), a kolejne sekcje ujawniać się dopiero po spełnieniu warunków (np. delegacja zagraniczna, umowa cywilnoprawna).
- Widoczne reguły: walidacje w pobliżu pola, komunikaty w języku użytkownika („Wybierz datę końcową późniejszą niż początkowa”, zamiast „Błąd walidacji”).
- Tryb szkicu: możliwość zapisu bez kompletnego zestawu danych, z listą braków do uzupełnienia przed wysłaniem.
- Podsumowanie przed wysłaniem: ekran/sekcja „Sprawdź i wyślij” z najważniejszymi danymi, załącznikami i informacją do kogo trafi akceptacja.
- Spójne statusy i etykiety: te same słowa i kolory w całej aplikacji; kolor nie może być jedynym nośnikiem informacji (dodatkowo ikona i tekst).
- Prosta nawigacja: „Cofnij” nie powinno gubić danych; „Anuluj” powinno jasno informować, czy zamyka ekran, czy wycofuje wniosek.
- Załączniki bez tarcia: jasny limit rozmiaru i dozwolonych formatów; informacja, które załączniki są wymagane.
- Historia zmian w pigułce: kto i kiedy wysłał, zaakceptował, odrzucił, poprosił o poprawki; krótki opis powodu, jeśli jest wymagany.
- Dostępność: czytelne kontrasty, logiczny układ fokusu, etykiety pól, sensowne nazwy kontrolek, duże pola kliknięcia w mobile.
Checklisty pól: Urlopy
Wniosek urlopowy powinien być najszybszy w obsłudze: nacisk na daty, typ urlopu i automatyczne podpowiedzi.
- Dane podstawowe: wnioskujący (auto), dział/komórka (auto), typ urlopu, zakres dat (od–do), liczba dni/godzin (wyliczana), tryb (cały dzień/godzinowy), zastępstwo (osoba + kontakt).
- Informacje dodatkowe: uwagi dla managera/HR (opcjonalnie), preferowany kontakt w nagłych sytuacjach (opcjonalnie).
- Załączniki: tylko gdy wymagane dla danego typu (np. usprawiedliwienia) – warunkowo.
- Kontrole UX: podgląd salda/limitu (jeśli dostępny), ostrzeżenia o nakładaniu się dat z innymi wnioskami, sygnał konfliktu z zaplanowanymi nieobecnościami w zespole (jeśli organizacja to stosuje).
Checklisty pól: Delegacje
Delegacja zwykle wymaga większej precyzji i powiązania z kosztami, dlatego UX powinien prowadzić użytkownika krokami: cel → terminy → miejsce → koszty → załączniki.
- Dane podstawowe: wnioskujący (auto), cel delegacji, typ (krajowa/zagraniczna), miejsce (kraj/miasto), terminy (od–do) oraz czas podróży (jeśli rozdzielany), środek transportu, nocleg (tak/nie).
- Koszty i rozliczenie: źródło finansowania / MPK / projekt (jeśli obowiązuje), zaliczka (tak/nie + kwota), waluta (dla zagranicznej), przewidywane koszty (kategorie), rozliczenie po powrocie (informacja/zgoda).
- Uczestnicy: podróż służbowa wspólna (opcjonalnie), osoby towarzyszące w delegacji (jeśli wspierane).
- Załączniki: zaproszenie/agenda, rezerwacje, inne wymagane dokumenty (warunkowo od typu i kraju).
- Kontrole UX: szybkie przełączniki dla delegacji zagranicznej (ujawniają dodatkowe pola), ostrzeżenie o braku danych kosztowych, czytelne podsumowanie kosztów i zaliczki przed wysłaniem.
Checklisty pól: Umowy
Wniosek umowy powinien minimalizować ryzyko braków formalnych. UX powinien działać jak „prowadzenie za rękę” po danych wymaganych przez HR/prawny/finanse.
- Dane podstawowe: rodzaj umowy, strona/kontrahent (osoba lub podmiot), okres obowiązywania (od–do), miejsce wykonywania, dział/wnioskujący (auto), uzasadnienie.
- Warunki: wynagrodzenie (kwota + okres płatności), wymiar/zakres prac, tryb współpracy, kluczowe klauzule (np. poufność) – jako wybory z list i pola dodatkowe tylko gdy potrzebne.
- Procesowanie: wymagane opinie (np. HR/prawny/finanse) jako pola logiczne lub automatycznie wynikające z typu i kwoty.
- Załączniki: CV/portfolio (jeśli dotyczy), skany dokumentów, oświadczenia, projekt umowy (jeśli organizacja tego wymaga) – jasno oznaczone jako wymagane lub opcjonalne.
- Kontrole UX: walidacja kompletności przed wysłaniem (np. brak wynagrodzenia), wyraźny podgląd danych, które trafią do dokumentu, oraz ostrzeżenie, gdy zmiana po akceptacji będzie wymagała aneksu/ponownej ścieżki.
Checklisty statusów: spójny słownik i znaczenie
Statusy powinny być wspólne tam, gdzie to możliwe, a specyficzne tylko tam, gdzie proces naprawdę tego wymaga. Kluczowe jest, by każdy status miał zrozumiałą interpretację dla pracownika i osoby akceptującej.
- Szkic: wniosek zapisany, niewysłany do akceptacji.
- Wysłany: wniosek przekazany do pierwszego kroku weryfikacji/akceptacji.
- Do uzupełnienia: wymagane poprawki lub brakujące dane; użytkownik widzi listę braków.
- W weryfikacji: etap sprawdzania formalnego (np. HR/finanse), bez decyzji końcowej.
- W akceptacji: oczekuje na decyzję osoby decyzyjnej (np. managera).
- Zaakceptowany: decyzja pozytywna, wniosek gotowy do realizacji (np. zapis w ewidencji, przygotowanie dokumentu).
- Odrzucony: decyzja negatywna z powodem; w UI powinno być jasne, czy można złożyć nowy wniosek na podstawie odrzuconego.
- Anulowany: wycofany przez wnioskującego lub administracyjnie, z informacją kto anulował.
- Zamknięty: proces zakończony operacyjnie (np. urlop odbyty, delegacja rozliczona, umowa podpisana i zarchiwizowana).
Rekomendacje końcowe: spójność i „mniej klików”
- Te same wzorce interakcji: identyczne miejsca przycisków „Zapisz szkic”, „Wyślij”, „Wycofaj”, „Dodaj załącznik” we wszystkich typach.
- Domyślne wartości: automatyczne uzupełnianie danych pracownika, jednostki, przełożonego i ścieżki akceptacji, aby ograniczyć błędy.
- Upraszczanie pól: każde pole musi odpowiadać na pytanie „kto tego użyje i po co”; jeśli nie ma odbiorcy, usuń lub ukryj.
- Status + następny krok: przy każdym wniosku pokaż nie tylko status, ale i „co dalej” (np. „Oczekuje na akceptację managera”).
Na zakończenie – w Cognity wierzymy, że wiedza najlepiej działa wtedy, gdy jest osadzona w codziennej pracy. Dlatego szkolimy praktycznie.
Majczęściej zadawane pytania i odpowiedzi odnośnie PowerApps w procesach HR: wniosek urlopowy, delegacje i umowy — 6 gotowych wzorców ekranów
Najlepiej nadają się procesy powtarzalne, etapowe i wymagające jasnego śladu audytowego. W praktyce chodzi przede wszystkim o wnioski urlopowe, delegacje i obieg umów, bo mają przewidywalny cykl życia, statusy, akceptacje i często załączniki. PowerApps sprawdza się tam, gdzie organizacja chce zastąpić maile i arkusze jednym spójnym kanałem obsługi.
Rozdzielenie warstw ułatwia utrzymanie, rozwój i bezpieczeństwo aplikacji HR. Gdy interfejs odpowiada za wprowadzanie danych, warstwa danych za spójność rekordów, a Power Automate za działania w tle, łatwiej zmieniać proces bez przebudowy ekranów. Taki podział ogranicza też ryzyko, że cała logika biznesowa zostanie zamknięta wyłącznie w formularzach.
Podstawowy model obejmuje pracownika, managera i HR. Każda z tych ról powinna widzieć tylko dane potrzebne do wykonania swoich zadań. Najczęściej wygląda to tak:
- pracownik składa i śledzi własne wnioski,
- manager akceptuje sprawy swojego zespołu,
- HR nadzoruje proces, wyjątki i konfigurację.
Widoczność w aplikacji powinna być zgodna z uprawnieniami w źródle danych.
Dobry dashboard pokazuje priorytety, a dobra lista pozwala szybko znaleźć konkretny wniosek. Dashboard powinien prowadzić do najczęstszych akcji i spraw wymagających reakcji, a lista powinna oferować filtry, wyszukiwanie i gotowe widoki zależne od roli. Kluczowe są czytelne statusy, aktualny etap procesu i szybkie przejście do szczegółów wniosku.
Najważniejsze są walidacje kompletności danych i zgodności z regułami procesu. Formularz powinien od razu sprawdzać podstawowe błędy oraz mocniej kontrolować dane przy wysyłce do akceptacji. Typowe obszary walidacji to:
- poprawność dat i pól wymaganych,
- zgodność z limitem lub saldem,
- wymagane załączniki i słowniki,
- brak sprzeczności między danymi formularza.
Ekran szczegółów powinien pokazywać pełny stan sprawy, decyzje i czas reakcji. Użytkownik musi od razu widzieć status, najważniejsze dane, aktualnego akceptującego, komentarze oraz historię zmian. Dla managera i HR ważne są też akcje kontekstowe, licznik SLA i zapis eskalacji. Taki widok ogranicza niejasności i skraca czas wyjaśniania, gdzie utknął wniosek.
Panel managera lub HR ma największy sens wtedy, gdy jedna osoba obsługuje wiele podobnych spraw. Taki ekran przyspiesza pracę w kolejkach akceptacji, wyjątkach i zaległościach. Szczególnie przydaje się, gdy trzeba działać na wielu rekordach naraz, monitorować SLA i utrzymywać słowniki. To rozwiązanie operacyjne, a nie widok pojedynczego pracownika.
Najlepiej zacząć od zdefiniowania wspólnego modelu wniosku, statusów i ról. Dopiero potem warto projektować ekrany, formularze i automatyzacje. Na start dobrze ustalić:
- jak wygląda cykl życia wniosku,
- gdzie będą przechowywane dane i dokumenty,
- co ma działać w aplikacji, a co w Power Automate,
- jak będzie realizowany audyt decyzji i zmian statusów.