Mamy już listę SharePoint i dwa przepływy Power Automate. Teraz czas na interfejs, który pozwoli działowi IT sprawnie obsługiwać zgłoszenia. W tym odcinku budujemy aplikację canvas w Power Apps — od pustego ekranu aż po działający formularz z zapisem danych. To najdłuższy odcinek cyklu, bo Power Apps daje ogromne możliwości projektowania.
Layout oparty na kontenerach — fundament aplikacji
Aplikacja będzie działać na komputerach (układ tabletowy), więc projektujemy ją z myślą o szerokim ekranie. Struktura to dwa obszary:
- Lewe menu (wąski pasek) — trzy przyciski filtrujące zgłoszenia według statusu: Nowe, W trakcie realizacji, Archiwum.
- Centralny obszar — galeria wyświetlająca listę zgłoszeń pasujących do wybranego filtra.
Do budowy layoutu używamy kontenerów (horyzontalnych i wertykalnych). To kluczowy element Power Apps — kontenery pozwalają tworzyć responsywne układy, w których elementy automatycznie dostosowują rozmiar i położenie. Zamiast ręcznie ustawiać współrzędne X/Y każdego kontrolki, opisujemy relacje między elementami.
Galeria z filtrowaniem po statusie — zmienne i formuły
Centralnym elementem widoku listy jest kontrolka Gallery podpięta do listy SharePoint. Żeby filtrowanie działało, wprowadzamy zmienną aplikacji przechowującą aktualnie wybrany status.
Na każdym przycisku w lewym menu ustawiamy właściwość OnSelect, która zapisuje wartość do zmiennej (np. „Nowe", „W trakcie realizacji", „Zakończone"). W galerii natomiast właściwość Items zawiera formułę warunkową: jeśli zmienna jest pusta — pokaż wszystkie zgłoszenia; jeśli ma wartość — przefiltruj listę SharePoint do zgłoszeń o tym statusie.
Efekt: po kliknięciu przycisku galeria natychmiast odświeża się, pokazując tylko odpowiednie zgłoszenia. Żadnego kodu, żadnych zapytań SQL — sama formuła Power Fx.
Dobre nazewnictwo kontrolek — inwestycja na przyszłość
Przy większych aplikacjach chaotyczne nazwy (Button1, Label3, Gallery2) szybko stają się koszmarem. Michał stosuje konsekwentny schemat: 3-literowy prefiks określający typ + opis elementu + ekran, do którego należy. Przykłady:
cnt_LeftMenu— kontener lewego menugal_Tickets_ListScreen— galeria zgłoszeń na ekranie listylbl_Title_GalTickets— labelka tytułu w galeriibtn_NewTickets— przycisk nowych zgłoszeń
Taki system sprawia, że kod formuł jest czytelny, a nawigacja po drzewie kontrolek w lewym panelu Power Apps staje się intuicyjna.
Ekran szczegółów — formularz edycji zgłoszenia
Kliknięcie zgłoszenia z galerii przenosi użytkownika na drugi ekran — widok szczegółów. Sercem tego ekranu jest kontrolka Edit Form podpięta do tej samej listy SharePoint.
Formularz automatycznie generuje pola dla wszystkich kolumn listy. Dopasowanie wymaga kilku kroków:
- Usunięcie niepotrzebnych pól (np. technicznych kolumn systemowych).
- Ustawienie trybu wyświetlania dla pól tylko do odczytu (data zgłoszenia, zgłaszający, treść) — żeby IT nie mogło ich przypadkowo zmienić.
- Zmiana pól wieloliniowych (opis, notatka, rozwiązanie) na tryb multiline.
- Ukrycie kolumny „Stary status" — jest potrzebna dla logiki przepływu, ale nie powinna być widoczna w interfejsie.
Przekazanie wybranego zgłoszenia z listy do formularza odbywa się przez zmienną: na strzałce w galerii (OnSelect) zapisujemy wybrany element do zmiennej vSelectedItem, a na właściwości Item formularza wskazujemy tę zmienną. Przy wyjściu z ekranu zmienną czyścimy w zdarzeniu OnHidden.
Zapisywanie zmian i obsługa błędów
Przycisk „Zapisz zmiany" wywołuje funkcję SubmitForm. Aby aplikacja była użyteczna, całość opakowujemy w IfError:
- Gdy zapis się powiedzie — wyświetlamy zielone powiadomienie „Poprawnie zapisano" i wracamy do listy (
Navigate). - Gdy wystąpi błąd — wyświetlamy czerwone powiadomienie „Wystąpił błąd. Spróbuj ponownie".
Takie podejście sprawia, że użytkownik zawsze dostaje feedback o wyniku operacji — to standard dobrego UX w aplikacjach biznesowych.
Gotowe rozwiązanie — co dalej?
Po trzech odcinkach mamy kompletny, działający system zgłoszeń IT złożony z trzech warstw: danych (SharePoint), automatyzacji (Power Automate) i interfejsu (Power Apps). Rozwiązanie można od razu wdrożyć w organizacji.
Kierunki dalszego rozwoju, o których warto myśleć:
- Dodanie warstwy uprawnień — oddzielny widok dla zgłaszających użytkowników.
- Automatyczna kategoryzacja zgłoszeń z użyciem AI (priorytet, typ problemu).
- Raporty i dashboardy w Power BI oparte na tej samej liście SharePoint.