Print

Jak sterować przepływem zdarzeń, korzystając z instrukcji warunkowej „if … else …”?

Wprowadzenie

W artykule przedstawiamy zasady korzystania z instrukcji warunkowej „if … else …„. Instrukcja ta służy do sterowania przepływem lub kolejnością wykonania akcji w przebiegu reguły. Umożliwia ona wykonanie akcji typu: jeżeli jakiś warunek jest spełniony, to rób to, w przeciwnym przypadku zrób coś innego.

Instrukcja warunkowa „if … else …”

Składnia instrukcji warunkowej wygląda następująco:

if ( warunek logiczny )
{    
   ... wykonaj, gdy warunek jest spełniony ...
} 
else 
{    
   ... wykonaj, gdy warunek nie jest spełniony ... 
}

Prawidłowy zapis instrukcji warunkowej składa się z kilku stałych elementów:

  • obligatoryjne słowo kluczowe if;
  • warunek logiczny umieszczony w nawiasach okrągłych (  );
  • skrypt do wykonania, gdy warunek logiczny jest spełniony. Skrypt ten objęty jest nawiasami klamrowymi { }.

W tym miejscu można zakończyć instrukcję warunkową, chyba że chcemy obsłużyć również sytuację, gdy warunek logiczny nie jest spełniony, wtedy dopisujemy:

  • słowo kluczowe else;
  • skrypt do wykonania, gdy warunek nie jest spełniony. Skrypt ten objęty jest nawiasami klamrowymi { }.

Przykład praktyczny nr 1

if ( [Kwota netto] >= 10000 )
{
    ForwardCase([Akceptujący],"Akceptacja finansowa");
}
else
{
    ForwardCase("Księgowość","Księgowanie");
}

Przeanalizujmy powyższy przykład instrukcji warunkowej:

  • występuje w nim słowo kluczowe if;
  • w nawiasach okrągłych ( )   umieszczono warunek logiczny, który sprawdza czy [Kwota netto] jest większa lub równa 10000;
  • w nawiasach klamrowych { } umieszczono skrypt, który zostanie wykonany gdy warunek logiczny będzie spełniony. Jest to funkcja ForwardCase() z odpowiednimi parametrami;
  • zastosowano słowo kluczowe else, aby obsłużyć sytuację, gdy warunek logiczny nie będzie spełniony;
  • w nawiasach klamrowych { } umieszczono skrypt, który zostanie wykonany, gdy warunek logiczny nie będzie spełniony. Jest to również funkcja ForwardCase() z odpowiednimi parametrami.

Warunek logiczny

Warunek logiczny, poprzez działania wykonane na swoich argumentach, przyjmuje w wyniku wartość logiczną true (prawda) lub false (fałsz). Przykładowo:

1 == 2
  • Wynikiem jest false, ponieważ jeden nie równa się dwa.
10 > 5
  • Wynikiem jest true, ponieważ dziesięć jest większe od pięć.

Operatory porównania w warunkach logicznych

Proszę zwrócić uwagę na operatory porównania. W skryptach AMODIT używamy następujących operatorów porównania.

    • ==  ( podwójny znak równości )   – równe;
    • !=   ( wykrzyknik i znak równości ) – nierówne, różne od;
    • >    ( znak większości) – większe od;
    • >=  ( znak większości i znak równości ) – większe lub równe;
    •   ( znak mniejszości ) – mniejsze od;
    • <= ( znak mniejszości i znak równości ) – mniejsze lub równe.

Przykład praktyczny nr 2

[Miasto] == "Warszawa"
  • warunek logiczny będzie spełniony, gdy pole o nazwie [Miasto] będzie zawierało tekst „Warszawa”;
[Osoba akceptująca] != ""
  • często stosowana konstrukcja dla sprawdzenia, czy pole nie jest puste, tzn. czy zawiera jakąkolwiek wartość. Ten przykład sprawdza, czy pole [Osoba akceptująca] nie jest puste.

W AMODIT  ten sposób sprawdzenia !=””, czyli nie jest puste, jako ciąg znaków stosuje się do większości typów pól, nie tylko do pól tekstowych. Można tak sprawdzić np. czy pole typu data nie jest puste [Data sprzedaży] != „”.

Spójniki logiczne

Warunki logiczne mogą być łączone. Do tego celu służą spójniki logiczne. W Amodit stosujemy następujące spójniki logiczne:

  • &&  ( podwójny znak ampersand) – spójnik logiczny i;
  • ||     ( podwójny znak pipe, kreska pionowa) spójnik logiczny lub.

Używamy również negacji:

  •       ( wykrzyknik) – operator logiczny negacja.

Przykład praktyczny nr 3

if ( [Kwota netto] >= 10000  ||  [Kontrahent] == "ABC sp. z o.o." ) 
{     
     ForwardCase([Akceptujący],"Akceptacja finansowa"); 
}
 else 
{    
    ForwardCase("Księgowość","Księgowanie"); 
}
  • W tym przykładzie sprawa zostanie skierowana do akceptacji finansowej dla każdej faktury powyżej 10000 oraz zawsze gdy kontrahentem będzie spółka ABC (bez względu na kwotę) – użyto operatora lub ||.
if ( ![Czy faktura korygująca?] )
{
    ....
}
  • W przykładzie użyto znaku ! jako negacji oraz pola na formularzu o nazwie [Czy faktura korygująca?], które jest typu „tak/nie”. Ten zapis należy czytać w następujący sposób: „jeżeli nie jest to faktura korygująca”.

Słowa kluczowe true, false

W AMODIT używane są słowa kluczowe oznaczające wartość logiczną:

  • true – prawda;
  • false – fałsz.

Prześledźmy to na przykładzie

if ( [Czy faktura korygująca?] == true )
{ 

 .....

}
if ( [Czy faktura korygująca?])
{ 

 .....

}

Oba przykłady są tożsame. Warunek logiczny można zapisać jako [Czy faktura korygująca?] == true albo po prostu jako [Czy faktura korygująca?], ponieważ pole [Czy faktura korygująca?] jest polem typu „tak/nie”, czyli już samo zwraca wartość logiczną true albo false.

Czy artykuł był pomocny?
5 na 5 gwiazdek

1 rating

5 Stars 100%
4 Stars 0%
3 Stars 0%
2 Stars 0%
1 Stars 0%
5
How can we improve this article?
How Can We Improve This Article?