Ten dokument został przetłumaczony przez AI. W przypadku niedokładności, proszę odnieść się do wersji angielskiej
Pętla jest odpowiednikiem struktur składniowych, takich jak for/while/forEach w językach programowania. Kiedy potrzebuje Pan/Pani powtórzyć pewne operacje określoną liczbę razy lub dla danej kolekcji danych (tablicy), może Pan/Pani użyć węzła pętli.
To wbudowana wtyczka, która nie wymaga instalacji.
W interfejsie konfiguracji przepływu pracy proszę kliknąć przycisk plusa („+”), aby dodać węzeł „Pętla”.

Po utworzeniu węzła pętli zostanie wygenerowana wewnętrzna gałąź pętli. W tej gałęzi może Pan/Pani dodać dowolną liczbę węzłów. Węzły te mogą używać zmiennych z kontekstu przepływu pracy, a także zmiennych lokalnych z kontekstu pętli, na przykład obiektu danych przetwarzanego w każdej iteracji kolekcji pętli lub indeksu licznika pętli (indeksowanie zaczyna się od 0). Zakres zmiennych lokalnych jest ograniczony do wnętrza pętli. W przypadku zagnieżdżonych pętli, może Pan/Pani używać zmiennych lokalnych dla każdej konkretnej pętli na danym poziomie.

Pętla różnie przetwarza różne typy danych obiektu pętli:
Tablica: To najczęstszy przypadek. Zazwyczaj może Pan/Pani wybrać zmienną z kontekstu przepływu pracy, na przykład wiele wyników danych z węzła zapytania lub wstępnie załadowane dane relacji jeden-do-wielu. Jeśli wybrano tablicę, węzeł pętli będzie iterować po każdym elemencie w tablicy, a w każdej iteracji bieżący element zostanie przypisany do zmiennej lokalnej w kontekście pętli.
Liczba: Kiedy wybrana zmienna jest liczbą, zostanie ona użyta jako liczba iteracji. Wartość liczby musi być dodatnią liczbą całkowitą; liczby ujemne nie spowodują wejścia do pętli, a część dziesiętna liczby zmiennoprzecinkowej zostanie zignorowana. Indeks licznika pętli w zmiennej lokalnej jest również wartością obiektu pętli. Ta wartość zaczyna się od 0. Na przykład, jeśli obiekt pętli to liczba 5, obiekt i indeks w każdej iteracji będą kolejno: 0, 1, 2, 3, 4.
Ciąg znaków: Kiedy wybrana zmienna jest ciągiem znaków, jego długość zostanie użyta jako liczba iteracji, przetwarzając każdy znak ciągu znaków według indeksu.
Inne: Inne typy wartości (w tym typy obiektowe) są traktowane jako obiekt pętli jednokrotnego przetwarzania i pętla wykona się tylko raz. Zazwyczaj w takiej sytuacji użycie pętli nie jest konieczne.
Oprócz wyboru zmiennej, dla typów liczbowych i ciągów znaków można również bezpośrednio wprowadzić stałe. Na przykład, wpisanie 5 (typ liczbowy) spowoduje, że węzeł pętli wykona się 5 razy. Wpisanie abc (typ ciągu znaków) spowoduje, że węzeł pętli wykona się 3 razy, przetwarzając odpowiednio znaki a, b i c. W narzędziu do wyboru zmiennych proszę wybrać typ, którego chce Pan/Pani użyć dla stałej.
Od wersji v1.4.0-beta dodano nowe opcje dotyczące warunków pętli. Może Pan/Pani włączyć warunki pętli w konfiguracji węzła.
Warunek
Podobnie jak w konfiguracji warunków w węźle warunkowym, może Pan/Pani łączyć konfiguracje i używać zmiennych z bieżącej pętli, takich jak obiekt pętli, indeks pętli itp.
Moment sprawdzenia
Podobnie jak w konstrukcjach while i do/while w językach programowania, może Pan/Pani wybrać, czy skonfigurowany warunek ma być obliczany przed każdą iteracją pętli, czy po niej. Obliczanie warunku po iteracji pozwala na wykonanie innych węzłów w ciele pętli przez jedną rundę, zanim warunek zostanie sprawdzony.
Gdy warunek nie jest spełniony
Podobnie jak instrukcje break i continue w językach programowania, może Pan/Pani wybrać wyjście z pętli lub kontynuowanie do następnej iteracji.
Od wersji v1.4.0-beta, gdy węzeł wewnątrz pętli nie wykona się pomyślnie (z powodu niespełnionych warunków, błędów itp.), może Pan/Pani skonfigurować dalszy przebieg przepływu pracy. Obsługiwane są trzy metody postępowania:
throw w programowaniu)break w programowaniu)continue w programowaniu)Domyślnie jest to „Wyjście z przepływu pracy”. Może Pan/Pani zmienić to ustawienie w zależności od potrzeb.
Na przykład, podczas składania zamówienia, należy sprawdzić stan magazynowy każdego produktu w zamówieniu. Jeśli stan magazynowy jest wystarczający, należy go zmniejszyć; w przeciwnym razie produkt w szczegółach zamówienia zostanie oznaczony jako nieprawidłowy.
Proszę utworzyć trzy kolekcje: Produkty <-(1:m)-- Szczegóły zamówienia --(m:1)-> Zamówienia. Model źródła danych jest następujący:
Kolekcja Zamówienia
| Nazwa pola | Typ pola |
|---|---|
| Szczegóły zamówienia | Jeden-do-wielu (Szczegóły zamówienia) |
| Całkowita cena zamówienia | Liczba |
Kolekcja Szczegóły zamówienia
| Nazwa pola | Typ pola |
|---|---|
| Produkt | Wiele-do-jednego (Produkt) |
| Ilość | Liczba |
Kolekcja Produkty
| Nazwa pola | Typ pola |
|---|---|
| Nazwa produktu | Tekst jednowierszowy |
| Cena | Liczba |
| Stan magazynowy | Liczba całkowita |
Proszę utworzyć przepływ pracy. Dla wyzwalacza proszę wybrać „Zdarzenie kolekcji” i wybrać kolekcję „Zamówienia” do wyzwolenia „Po dodaniu rekordu”. Należy również skonfigurować wstępne ładowanie danych relacji kolekcji „Szczegóły zamówienia” oraz kolekcji „Produkty” w ramach tych szczegółów:

Proszę utworzyć węzeł pętli i wybrać obiekt pętli jako „Dane wyzwalające / Szczegóły zamówienia”, co oznacza, że będzie on przetwarzał każdy rekord w kolekcji „Szczegóły zamówienia”:

Wewnątrz węzła pętli proszę utworzyć węzeł „Warunek”, aby sprawdzić, czy stan magazynowy produktu jest wystarczający:

Jeśli jest wystarczający, w gałęzi „Tak” proszę utworzyć węzeł „Obliczenia” i węzeł „Aktualizuj rekord”, aby zaktualizować odpowiedni rekord produktu o obliczony, zmniejszony stan magazynowy:


W przeciwnym razie, w gałęzi „Nie” proszę utworzyć węzeł „Aktualizuj rekord”, aby zaktualizować status szczegółów zamówienia na „nieprawidłowy”:

Ogólna struktura przepływu pracy przedstawiona jest na poniższym schemacie:

Po zakończeniu konfiguracji i aktywacji tego przepływu pracy, po utworzeniu nowego zamówienia system automatycznie sprawdzi stan magazynowy produktów w szczegółach zamówienia. Jeśli stan magazynowy jest wystarczający, zostanie on zmniejszony; w przeciwnym razie produkt w szczegółach zamówienia zostanie oznaczony jako nieprawidłowy (aby można było obliczyć prawidłową całkowitą cenę zamówienia).