Przejdź do głównej zawartości

Mapowanie list


W przypadku mapowań elementów listy należy wykonać kilka czynności i określić mapowania w edytorze formuł, a także warunki wykonania mapowania.

Na liście możesz wykonać następujące operacje:

  1. dodać elementy do listy,
  2. uzupełnić /wypełnić listę danymi,
  3. usunąć elementy z listy.

W edytorze mapowań po przejściu do definiowania formuły zostaną wyświetlone dodatkowe zmienne jak Zmienne list lewostronne i Zmienne list prawostronne. Ma to związek z mapowaniem elementów listy i w zależności od tego, w kontekście jakiej akcji lub mapowania otwarte jest okno edytora formuł, będą dostępne Zmienne list lewostronne lub Zmienne list prawostronne lub obydwie grupy zmiennych.

Zmienne list lewostronne to lista, która znajduje się na docelowej strukturze w procesie, a zmienne list prawostronne to lista na źródłowej strukturze danych procesu. W przypadku, gdy chcesz odnieść się do listy, na którą wykonujesz mapowanie, wówczas odnosimy się zmiennych list lewostronnych. Z kolei z listy, której mapowanie zostanie wykonane to zmienne prawostronne.

Indeksy listy - każda lista posiada swój indeks dzięki czemu możemy określić, dokładnie który element listy jest edytowany, wypełniany danymi itp.

image

Dodawanie elementów do listy​

W poniższym przypadku dodawania elementów do listy będziemy dodawać nowy element do listy wniosków danego klienta.

  1. Przejdź do okna mapowań w procesie.
  2. Z lewej strony kliknij na liście prawym przyciskiem myszy i wybierz z menu kontekstowego opcję Dodanie elementu do listy.

image

  1. W kolejnym oknie określ poprzez formułę Ilość elementów do dodania oraz, na którą pozycję listy elementy mają zostać dodane. Okno to otwiera się z domyślnie ustawionymi formułami dla Ilość elementów do dodania: 1 i na którą pozycję jako Koniec listy (-1).

image

wskazówka

Najczęściej chcemy dodać jeden element do listy. Jest to najbardziej powszechne użycie w przypadku dodawania elementów i dodajemy go na koniec listy. Jeżeli oczekujesz takiego zachowania, wówczas pozostaw powyższe ustawienia bez zmian.

W tym przypadku został dodany 1 element do listy wniosków klienta na koniec listy, gdzie po uruchomieniu procesu i odpytaniu bazy danych w archITekt Studio można zobaczyć, że element został dodany do tabeli i umieszczony na końcu listy

image

Jeżeli chcesz zmienić ustawienia domyślne i dodać kilka elementów do listy wówczas przejdź do definiowania formuły w odpowiednich sekcjach.

  1. Przejdź do formuły w sekcji Ilość elementów do dodania i na węźle formuły wprowadź dane.

image

Po uruchomieniu procesu i odpytaniu bazy danych zostały dodane 2 elementy do listy:

image

W innym przypadku możesz także skorzystać z opcji dodania wszystkich elementów czyli dodania tylu elementów ile jest na liście po prawej stronie.

  1. W poniższym przykładzie w procesie będziemy się łączyć z zewnętrzną usługą, której chcemy przekazać listę wszystkich załączników danego klienta.

image

  1. Przejdź do szczegółów edytora formuł w sekcji Ilość elementów do dodania. Wyszukaj funkcję Liczba elementów w strukturze mapowań i przenieś na węzeł formuły.

image

  1. Przejdź na zakładkę Zmienne i przeciągnij listę na argument funkcji.

image

Wypełnienie elementów listy​

Operacji wypełnienia elementów listy możemy użyć w przypadku gdy chcemy uzupełnić pustą listę lub zmodyfikować/edytować dane na liście.

Załóżmy, że na liście po prawej stronie i po lewej stronie są już jakieś elementy i na podstawie listy z prawej strony (Struktura źródłowa) chcemy uzupełnić/zmodyfikować dane na liście z lewej strony (Struktura docelowa).

  1. Przejdź do okna mapowań w procesie.
  2. Z lewej strony kliknij na liście prawym przyciskiem myszy i wybierz z menu kontekstowego opcję Wypełnienie elementów listy.

image

  1. W kolejnym oknie najpierw określ w sekcji Które elementy listy warunek czy dany element spełnia kryteria aby został zmapowany.
wskazówka

Domyślnie formuła w sekcji Które elementy z listy ustawiona jest na Prawda co oznacza, że mapowania, które zdefiniujesz zostaną wykonane dla elementów na każdej liście.

  1. Jeżeli chcesz określić warunek dla jakich elementów listy mapowanie ma zostać wykonane, wówczas przejdź do edycji formuły w sekcji Które elementy z listy.
  2. System iterując po liście sprawdzi, dla których elementów warunek zostanie spełniony i tym samym mapowanie ma zostać wykonane. W tym przypadku dla każdego wniosku klienta.

image

  1. Kolejno wykonaj mapowania przeciągając pola z prawej strony (Struktura źródłowa) na lewą stronę (Struktura docelowa). System iterując po liście zastosuje zdefiniowane mapowanie elementu na każdej liście, które określisz w tym miejscu. W tym przypadku dla każdego wniosku klienta.
  2. Po zmapowaniu pola zostanie wyświetlone okno, w którym:
  • W sekcji Wybierz formułę i warunek sprawdzający dla elementów listy prawostronnej formuła jest automatycznie ustawiana na podstawie przeciąganego pola z listy, a także indeks listy prawostronnej.

image

  • Po przejściu do edycji formuły dostępne są w edytorze formuł Zmienne list prawostronne czyli lista źródłowa, z której przeciągamy dane. W formule oprócz wskazania pola, niezbędne jest także przeciągnięcie indeksu listy prawostronnej. Ponieważ w tym przypadku wskazujemy listę źródłową i iterowana będzie lista po prawej stronie.

image

  1. W sekcji Warunek określ warunek mapowania danych. Przejdź do edycji formuły.

image

  1. Przy opcji wypełniania danych na liście, jeżeli chcemy zmapować dany element w każdej liście należy pamiętać, że musimy wiedzieć dokładnie ile jest elementów na liście oraz wskazać w warunku, że indeks listy z prawej strony (źródłowej) ma być równy indeksowi listy z lewej strony (docelowej). Tak aby odpowiednie elementy z listy z prawej strony zostały zmapowane dokładnie na odpowiadające im elementy z listy z lewej strony. System będzie iterować zarówno po liście z prawej jak i z lewej strony i wykona mapowania dla wszystkich elementów listy.
  2. Przeciągnij funkcję na węzeł formuły.

image

  1. Kolejno przeciągnij na argumenty funkcji indeks listy prawostronnej ze Zmiennych list prawostronnych i indeks listy lewostronnej ze Zmiennych list lewostronnych.

image

  1. Jeżeli nie określisz żadnego warunku, na wykonanie mapowania dla konkretnych elementów listy i pozostawisz warunek bez zmian z domyślną wartością prawda oraz zaznaczoną opcją Przerwij wykonywanie mapowania na pierwszym elemencie listy, dla którego został spełniony warunek wówczas dla wszystkich elementów z listy po lewej stronie zostanie przypisana ta sama wartość. System przypisze wartość z pierwszego elementu po prawej stronie (struktury źródłowej) do wszystkich elementów po lewej stronie.

image

  1. W poniższym przykładzie dla klienta o Id 1 na liście źródłowej mamy różne okresy kredytowania. W wyniku wykonania mapowania zdefiniowanego jak w oknie powyżej (bez określenia warunku, że indeks listy lewostronnej i prawostronnej mają być równe) oraz zaznaczonej opcji aby przerwano wykonywanie mapowania po pierwszym elemencie, uzyskamy przypisanie wartości okresu kredytowania z pierwszego elementu listy źródłowej do każdego elementu listy docelowej.

image

  1. Z kolei jeżeli odznaczysz pole Przerwij wykonywanie mapowania na pierwszym elemencie listy, dla którego został spełniony warunek wówczas do wszystkich elementów po lewej stronie na liście docelowej zostanie przypisana wartość z ostatniego elementu z prawej strony czyli z listy źródłowej. System będzie iterować po liście źródłowej aż do ostatniego elementu listy.

image

Dla przykładu

Przypuśćmy, że dla wniosków klienta, starszych niż 30 dni chcemy ustawić ich status jako Odrzucony.

  1. Przejdź do mapowań operacji Wypełnienie elementu listy.
  2. Dla danego klienta (PrimaryDataElement(Klient)) należy zmienić status wniosków na Odrzucony. Aby zmapować słownik kliknij na polu StatusWniosku z lewej strony i wybierz z menu kontekstowego Przypisz.

image

  1. W oknie formuły wybierz wartość ze słownika i przeciągnij na węzeł formuły.

image

  1. Jeżeli chcesz wprowadzić warunek czy dany element spełnia kryteria aby został zmapowany i określić dla jakich elementów listy mapowanie ma zostać wykonane, wówczas przejdź do edycji formuły w sekcji Które elementy z listy.
wskazówka

Domyślnie formuła w sekcji Które elementy z listyustawiona jest na Prawda co oznacza, że zdefiniowane mapowania zostaną wykonane dla elementów na każdej liście.

image

  1. Przypuśćmy, że chcemy aby zdefiniowane krok wcześniej mapowanie czyli zmiana statusu wniosków klienta na Odrzucony zostało wykonane tylko dla wniosków starszych niż 30 dni.
  2. W edytorze formuł wykorzystamy funkcję większe > a następnie jako jeden z argumentów funkcji kolejną funkcję: Dni między datami:
  • Na argumenty funkcji jako pierwszą datę przenieś DataUtworzeniaWniosku z listy ze Zmiennych lewostronnych. Wskaż także indeks listy lewostronnej i przeciągnij go na okno formuły.
  • Jako drugi argument funkcji wybierz funkcję Dzisiaj.
  • Wprowadź stałą 30 jako określenie, że różnica w dniach pomiędzy datami ma być większa niż 30 dni, wówczas uznajemy, że cały warunek zostaje spełniony i zwróci wartość Prawda.

image

Usunięcie elementów listy​

  1. Przejdź do okna mapowań w procesie.
  2. Z lewej strony kliknij na liście prawym przyciskiem myszy i wybierz z menu kontekstowego opcję Usunięcie elementów listy.

image

  1. Po wybraniu akcji w kolejnym oknie możesz wskazać warunek wykonania akcji. Jeżeli pozostawisz Prawda według ustawień domyślnych wówczas wszystkie elementy zostaną usunięte.

image

  1. Możesz wskazać, który element z listy ma zostać usunięty na podstawie indeksu. Przejdź do definiowania warunku w formule.
  2. Przeciągnij funkcję porównania na węzeł formuły.

image

  1. Kolejno przeciągnij na argument funkcji indeks listy lewostronnej ze Zmiennych lewostronnych.
  2. Jako drugi argument wpisz, który element ma zostać usunięty z listy. W przykładzie poniżej jeżeli wprowadzisz wartość 0 wówczas pierwszy element z listy zostanie usunięty dla wartości 1 drugi element itd.

image

Dla przykładu

W poniższym przykładzie opisano przypadek usunięcia wszystkich wniosków klienta, które są w statusie Odrzucony.

  1. Dodaj operację usunięcia elementów listy.
  2. Przejdź do formuły do definiowania warunku wykonania operacji w sekcji Elementy do usunięcia.
  3. Przeciągnij funkcję porównania na węzeł formuły.

image

  1. Kolejno przeciągnij na argumenty funkcji pole StatusWniosku oraz indeks listy lewostronnej ze Zmiennych lewostronnych.

image

  1. Na drugi argument funkcji przeciągnij element ze słownika, do którego mają być porównywane statusy wniosku z listy.

image

Wskazówki​

  1. Po dodaniu elementów do listy możesz od razu wypełnić je danymi już na akcji dodawania. Wykonaj mapowania poprzez przeciągnięcie danych z prawej strony ze struktury źródłowej na lewą stronę. Wszystkie mapowania będą dostępne w szczegółach akcji dodawania na liście mapowań.

image

  1. Mapowanie danych na listach możesz też wykonać na poziomie okna głównego mapowań bez przechodzenia do szczegółów operacji dodawania lub wypełniania danych.
  • Kliknij prawym na polu na liście docelowej z lewej strony i wybierz z menu Przypisz iterując po liście...

image

Wykonanie akcji tutaj skutkuje odłożeniem się akcji na głównej liście mapowań.

image

wskazówka

Przy dużej ilości mapowań w procesie może okazać się to nieczytelne dla użytkownika, więc rekomendujemy wykonywanie mapowań na listach wewnątrz akcji dodawania lub wypełniania elementów listy.

Wówczas na głównej liście mapowań widoczne będzie tylko mapowanie typu Dodanie elementu do listy, dopiero po przejściu do szczegółów mapowania będzie można podejrzeć listę mapowań dla konkretnej operacji.

image

Zobacz również​

Przebieg procesu

Proces obsługi błędu

Formularz podglądu