Akcje warunkowe¶
Akcje warunkowe sterują dalszym przebiegiem obiegu, powtarzają wskazane działania albo wstrzymują proces. Do tej grupy należą bramki logiczne, pętla oraz aktywności oczekiwania.
Po dodaniu elementu do diagramu wybierz typ aktywności i uzupełnij jego konfigurację. Sposób wyboru aktywności pokazano na poniższym filmie.
Ustawienia wybranej aktywności są dostępne w zakładce Ogólne. W przypadku bramek i aktywności oczekiwania część warunków konfiguruje się bezpośrednio na wychodzących ścieżkach.
Bramka logiczna XOR¶
Bramka logiczna XOR kieruje proces tylko jedną z wychodzących ścieżek. Wybrana zostaje ścieżka, której warunki są spełnione.
Najpierw połącz bramkę z kolejnymi aktywnościami na diagramie. Dla każdej wychodzącej ścieżki pojawią się pola Nazwa ścieżki, Kolejna aktywność oraz konfiguracja warunków. Liczba pozycji zależy od liczby ścieżek wychodzących z bramki.
Warunki ścieżki konfiguruje się tak samo jak filtry na listach. Szczegóły opisano w artykule Tworzenie filtrów na listach. W zależności od tego, który warunek jest spełniony, proces podejmie właściwą ścieżkę.
Warunki mogą odwoływać się do danych formularza, zmiennych środowiskowych, wyników wcześniejszych akcji oraz formularzy konfiguracyjnych. Wybierz źródło z drzewa wzmianek; wynik akcji musi być dostępny przed dojściem procesu do bramki.
Bramka logiczna OR¶
Bramka logiczna OR może skierować proces do więcej niż jednej ścieżki. Proces przejdzie każdą ścieżką, której warunki są spełnione. Konfiguracja ścieżek i warunków jest taka sama jak w bramce XOR.
Pętla¶
Pętla wykonuje zestaw działań dla każdego elementu wskazanego źródła danych albo zadaną liczbę razy. Źródło pętli wybiera się w konfiguracji aktywności, wskazując pole lub zmienną z listy dostępnej pod przyciskiem @. Można również wpisać liczbę lub wyrażenie.
Źródła pętli¶
Pętla obsługuje następujące rodzaje źródeł:
Listy – kolekcją iterowaną przez pętlę jest lista dokumentów. Pętla wykona działania dla każdego elementu zwróconego przez listę. Wynik listy może być dodatkowo ograniczony przez standardową konfigurację filtrów.
Ustawienia listy mogą wpływać na sposób działania pętli:
-
Lista w trybie drzewa
Jeśli lista ma włączony tryb drzewa i zastosowany jest filtr ograniczający dokumenty, pętla iteruje po ścieżce od dokumentu nadrzędnego do znalezionego dokumentu. -
Lista z grupowaniem lub agregacją
Pętla iteruje po wynikach widocznych na liście po zastosowaniu grupowania, czyli po wierszach grup, a nie po pojedynczych dokumentach źródłowych.
Ograniczenia dla list grupowanych
Dla list z grupowaniem lub agregacją nie można jednoznacznie wskazać dokumentu z pętli, ponieważ jeden wiersz grupy może reprezentować wiele dokumentów.
W związku z tym:
- w aktywnościach pracujących na dokumencie nie będzie dostępna opcja Dokument z pętli,
- dostępne mentionsy będą ograniczone do danych widocznych w wyniku listy, np. kolumn grupujących i agregowanych,
- mentionsy z formularza dokumentu źródłowego nie będą dostępne dla elementu pętli.
Lista elementów – jeśli formularz ma atrybut Lista elementów, pętla wykona działania dla każdego wiersza tej listy.
Pole wielokrotnego wyboru – dla pól Wielokrotny wybór i Lista rozwijana wielokrotnego wyboru pętla wykona działania osobno dla każdej wybranej wartości.
Pliki – źródłem może być pole Załączniki albo zmienna procesowa zawierająca wiele plików. Każda iteracja dotyczy jednego pliku.
Import z Excela – źródłem może być wynik wcześniejszej aktywności Importuj z Excela. Pętla wykona działania dla każdego wiersza wybranego arkusza.
Wiadomości e-mail – źródłem może być wynik aktywności Pobierz maile. Pętla wykona działania dla każdej pobranej wiadomości. Załączniki bieżącej wiadomości mogą być źródłem pętli zagnieżdżonej.
Zmienna JSON – pętla iteruje po kolekcji zapisanej w zmiennej typu JSON lub zwróconej przez inną aktywność. Jako źródło można wskazać całą kolekcję albo jej zagnieżdżoną właściwość.
Liczba lub wyrażenie – pętla może wykonać działania określoną liczbę razy. Źródłem może być:
- liczba całkowita wpisana bezpośrednio, np.
5, - mention zwracający liczbę całkowitą, np. pole formularza lub zmienna procesowa,
- wyrażenie zwracające liczbę całkowitą, również wyrażenie SQL, np.
2 + 3alboSELECT COUNT(*) FROM ....
Wartość null, 0 lub liczba ujemna kończy aktywność pętli poprawnie, bez wykonywania działań z jej wnętrza. Wartość niecałkowita, tekst lub błędne wyrażenie kończy aktywność błędem.
Konfiguracja działań wewnątrz pętli¶
Źródło danych ustawia się na głównej warstwie aktywności. Działania wykonywane w każdej iteracji konfiguruje się na warstwie wewnętrznej pętli. Aby ją otworzyć, kliknij strzałkę w prawym dolnym rogu symbolu pętli na diagramie. Między warstwami można przełączać się selektorem widocznym w prawym górnym rogu edytora procesu.
Na warstwie wewnętrznej dodaj aktywność lub ciąg aktywności, które mają zostać wykonane w każdej iteracji. Można w nich używać danych dokumentu źródłowego oraz danych aktualnie przetwarzanego elementu. Dane elementu są dostępne w drzewie mentionów pod nazwą pętli i oznaczone ikoną zaokrąglonej strzałki.
Przykład tworzenia dokumentów w pętli na podstawie wierszy arkusza opisano w sekcji Importuj z Excela.
Ograniczenia działań w pętli
Wewnątrz pętli nie można umieszczać aktywności użytkownika ani aktywności Czekaj na spełnienie warunku i Czekaj określony czas. Można zagnieździć jedną dodatkową pętlę, ale nie można umieścić kolejnej pętli wewnątrz już zagnieżdżonej pętli.
Przerwij pętlę¶
Aktywność Przerwij pętlę pozwala zakończyć pętlę przed przetworzeniem wszystkich elementów źródła. Można ją umieścić wyłącznie wewnątrz pętli. Nie wymaga dodatkowej konfiguracji.
Po wykonaniu aktywności system:
- pomija pozostałe działania w bieżącej iteracji,
- nie uruchamia kolejnych iteracji,
- kontynuuje proces od następnej aktywności znajdującej się za pętlą.
Aktywność można umieścić na ścieżce wychodzącej z bramki logicznej, aby przerwać pętlę tylko po spełnieniu określonego warunku. W przypadku pętli zagnieżdżonych przerwana zostanie pętla, wewnątrz której bezpośrednio znajduje się aktywność Przerwij pętlę. Pętla nadrzędna będzie kontynuowana.
Zmienne kontekstowe pętli¶
W aktywnościach umieszczonych wewnątrz pętli dostępne są dodatkowe mentionsy:
- Numer iteracji – zwraca indeks aktualnie wykonywanej iteracji. Numerowanie zaczyna się od
0, dlatego dla pętli wykonującej się pięć razy kolejne wartości to0,1,2,3i4. - Liczba elementów – zwraca całkowitą liczbę elementów źródła ustaloną przed rozpoczęciem pętli. Dla pętli po liczbie jest to obliczona liczba powtórzeń.
Oba mentionsy zwracają liczby całkowite i można ich używać w polach obsługujących mentiony lub wyrażenia. W przypadku pętli zagnieżdżonych każda pętla udostępnia własny numer iteracji i liczbę elementów pod swoją nazwą.
Czekaj na spełnienie warunku¶
Aktywność wstrzymuje proces do momentu spełnienia warunku przypisanego do jednej z wychodzących ścieżek. Każda ścieżka może mieć niezależny zestaw warunków. W jednym zestawie można łączyć warunki operatorami ORAZ i LUB.
Warunki tworzy się na podstawie pól formularza i dostępnych operatorów. Konfiguruje się je na wychodzących ścieżkach, a nie w ustawieniach samej aktywności. Szczegóły opisano w artykule Tworzenie filtrów na listach.
System sprawdza warunki raz na minutę.
Czekaj określony czas¶
Aktywność automatycznie wstrzymuje proces na wskazany czas, określony w sekundach, minutach lub godzinach. W pokazanym przykładzie proces jest zatrzymany na 24 godziny.