Top
Photo by Bram Kunnen on Unsplash

Migracja repeating section z Nintex do Power Apps


W 2026 roku Microsoft wyłączy add-ins i workflowy SharePoint. Spowoduje to, że wielu klientów Nintex stanie przed wyborem – przenieść się do Nintex Automation Cloud czy do Power Platform.

Jeśli decyzja padnie na Power Platform, klienci będą musieli zmierzyć się z wieloma wyzwaniami związanymi z brakiem gotowych rozwiązań dla kluczowych funkcji istniejących w rozwiązaniach Nintex. Jednym z nich jest powtarzająca się sekcja (repeating section) obecna w formularzach, która jest powszechnie stosowana w bardziej zaawansowanych scenariuszach formularzy:

Sekcja powtarzająca się jest albo niepołączona z żadnym polem na liście SharePoint, albo jest połączona z polem „Wieloliniowy tekst” (sam tekst, bez formatowania). Jeśli jest połączona – dane z sekcji powtarzającej się są przechowywane w formacie XML.

Migracja do Power Platform

Możliwe jest odtworzenie funkcjonalności w Power Apps. Jednak przechowywane dane nie będą już zapisywane w przestarzałym formacie XML, ale w formacie JSON. Dlatego, gdy zdecydujesz się zbudować formularz dla listy, która korzystała z formularzy Nintex, upewnij się, że przekonwertujesz dane XML na prawidłowy format JSON.

Na koniec, aby zbudować kontrolkę, będziesz potrzebować galerii i kolekcji.

Krok 1

Utwórz formularz w Power Apps, dodaj pole wielolinijkowe jako jedno z pól na formularzu:

Ukryj istniejące pole tekstowe. Nie musi być widoczne.

Krok 2

Wstaw galerię pionową wewnątrz pola danych. Skonfiguruj ją według swoich potrzeb. Dodaj pola wejściowe według własnego wyboru do galerii:

Krok 3

Utwórz przycisk „Dodaj wiersz”. Ja buduję go, używając ikony, etykiety i przycisku, który je nakrywa, tak aby gdy użytkownik najedzie kursorem myszy na niego, kursor zmienia się w wskaźnik. Właściwość „OnSelect” musi dodawać nowy, pusty wiersz do kolekcji.

OnSelect: Collect(var_RepeatingSection_coll, { FirstProperty: "", SecondProperty: ""})

Krok 4

Utwórz funkcję „Usuń wiersz”. Ta funkcja musi być zbudowana wewnątrz galerii. W Nintex nie było możliwe usunięcie pierwszego wiersza. Tę funkcję też można odtworzyć w Power Apps. Po prostu nie wyświetlaj przycisku, jeśli liczba wierszy w kolekcji wynosi 1:

OnSelect: Remove(var_RepeatingSection_coll, ThisItem)

Visible: If(CountRows(var_RepeatingSection_coll) <= 1, false, true)

Krok 5

Upewnij się, że akcja „SubmitForm” zapisuje wartości z kolekcji w formacie JSON, z powrotem do listy SharePoint. W tym celu zmień właściwość „Update” pola danych na JSON(var_RepeatingSection_coll):

Krok 6

Oczywiście, to co również potrzebujesz, to aby w trybie Widok/Edycja, formularz odczytywał JSON z pola i wyświetlał go jako wypełnioną sekcję powtarzającą się. W tym celu:

  1. Ustaw właściwość „Items” galerii na: var_RepeatingSection_coll,
  2. Ustaw atrybuty „Default” pól wewnątrz galerii na ThisItem. (+ nazwa twojej właściwości, np., ThisItem.FirstProperty)

Krok 7

Upewnij się, że w trybie Widok/Edycja kolekcja jest wstępnie wypełniona danymi pochodzącymi z listy lub po prostu utwórz jeden pusty wiersz dla trybu „Nowy”. W tym celu ustaw w właściwości „OnStart”:

ClearCollect(var_RepeatingSection_coll,ForAll(Table(ParseJSON(If(var_ItemID>0,var_Item.RepeatingSection,JSON([{FirstProperty:"",SecondProperty:""}])))),{FirstProperty:Text(Value.FirstProperty),SecondProperty:Text(Value.SecondProperty)}))

Oczywiście, zdefiniuj je zgodnie z nazwami twoich właściwości 😉

To wszystko! Po przesłaniu formularza znajdziesz ładny kod JSON w połączonym kolumnie:

Potrzebujesz pomocy?

Zobacz, jak łatwo to jest? Hej, ale to nie koniec! Podczas migracji z Nintex for Office 365 do Power Platform możesz napotkać wiele innych wyzwań. Zarówno w formularzach, jak i w workflowach. Szukasz pomocy lub wsparcia? Skontaktuj się ze mną! Mam już doświadczenie w tego typu projektach migracyjnych i chętnie Ci pomogę.


Tomasz Poszytek

Cześć! Nazywam się Tomasz. Jestem ekspertem w dziedzinie automatyzacji procesów i budowaniu rozwiązań dla biznesu z użyciem Power Platform. Jestem Microsoft MVP i Nintex vTE.

Brak komentarzy

Wyślij komentarz

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.