Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Blok decyzyjny

Podsumowanie:

Blok decyzyjny pozwala uzależnić przebieg procesu od warunku zdefiniowanego w zapytaniu SQL określonym w właściwościach bloku. Zapytanie musi zwrócić nazwę jednego z przejść wychodzących z bloku. Alternatywnie, do wyboru przejścia można użyć akcji Web Service. Blok decyzyjny nie ma przypisanego żadnego statusu. Kiedy dokument uzyska status bloku umieszczonego bezpośrednio przed blokiem decyzyjnym zostanie wykonane zapytanie SQL, które zwróci nazwę przejścia, odpowiednio do wyniku warunku. W ten sposób można parametryzować przebieg procesu. Na przykład w przypadku faktur można skonstruować warunek, który spowoduje, że faktury z kwotą powyżej pewnego limitu będą kierowane do akceptacji przez osoby z przypisaną rolą kierowniczą, podczas gdy dla faktur z kwotą niższą ten krok będzie pomijany.

Oprócz właściwości opisanych osobno, dla bloku decyzyjnego konieczne jest określenie specyficznych właściwości.

  • Akcja Web Service: włącz ten przełącznik, aby nazwa przejścia była wybierana przez zapytanie SQL zdefiniowane w akcji Web Service wybranej z listy rozwijanej; w tym przypadku wybór przejścia można uzależnić od danych zwróconych z systemu zewnętrznego; patrz także Zapytania do webserwisów .
  • Kierunek przejścia: w tym polu wpisz kod zapytania SQL, które zwróci nazwę przejścia w zależności od wyniku wyrażenia warunkowego użytego w zapytaniu; kliknij przycisk Konstruktor zapytania, aby skonstruować zapytanie przy użyciu konstruktora (wynikowy kod SQL zostanie wyświetlony w polu tekstowym, gdzie można go modyfikować); patrz Okno Konstruktor SQL - definiowanie warunków przejść bloku decyzyjnego .

Przykłady:

W przypadku, gdy wartość pola Kwota w dokumencie biznesowym przekracza 300, dokument zostanie skierowany do akceptacji, w przeciwnym razie zostanie zatwierdzony automatycznie.

SELECT
  CASE
    WHEN ({@Kwota} > 300)
    THEN 'do kontroli'
    ELSE 'zatwierdź automatycznie'
  END

W przypadku, gdy po przemnożeniu wartości z pola Kwota przez kurs średni waluty (mid) zwrócony przez akcję Web Service wynik będzie większy od 300, dokument zostanie skierowany do akceptacji, w przeciwnym razie zostanie zatwierdzony automatycznie.

SELECT 
 CASE
   WHEN (
     SELECT [mid]*{@Kwota} from openjson({@_Response}, '$.rates')
        WITH ([no] varchar(20), [effectiveDate] varchar(20), [mid] decimal(18,4))
        ) > 300
   THEN 'do kontroli'
   ELSE 'zatwierdź automatycznie'
 END

Literały do kontroli i zatwierdź automatycznie to wartości właściwości Nazwa przejścia określone dla przejść wychodzących z bloku decyzyjnego.

|← Akceptacja |↑ Do góry |→ Okno Konstruktor SQL - definiowanie warunków przejść bloku decyzyjnego |

Copyright © 2025 OPTEAM SA. Theme Copyright © 2017-2020 Patrick Marsceill. Distributed by an MIT license.