Argumenty funkcji

W AMODIT wiele funkcji używa argumentów np AddTableRow(„tableName”,”rowCount”);.

Funkcje mogą:

  • nie mieć żadnych argumentów np CurrentStage()
  • mieć stałą liczbę argumentów np ShowField(„Nazwa pola”)
  • mieć zmienną liczbę argumentów np ForwardCase(„userLogin”,”stageName”,”sendEmail”) gdzie ostatni argument jest opcjonalny i można go nie podawać

W AMODIT, co oczywiste, występują pola na formularzu. Te pola mają swoje nazwy nadawane przez twórcę procesu. Przykładowo niech, to będzie „Numer faktury”. Załóżmy że to pole zawiera wartość „FV/2020/01/95”

W jaki sposób należy odwoływać się do pola i wartości w polu i w jaki sposób zapisać to w sekcji argumentów konkretnej funkcji.

Pierwsze co musimy rozważyć, to czy odnosimy się do pola jako takiego, czy do wartości w tym polu.

Używanie cudzysłowu

Użycie cudzysłowu z nazwą pola

Gdybyśmy chcieli ukryć pole „Numer faktury”, to musimy odnieść się do nazwy pola i nie interesuje nas, co w tym  polu jest zapisane, więc funkcja HideField zostanie użyta w ten sposób

HideField("Numer faktury")

Umieściliśmy nazwę pola w cudzysłowie, bo odnosimy się do pola, a nie do wartości w tym polu.

 

Podobnie gdy chcemy dodać wiersze do tabeli o nazwie „Pozycje faktury” to użyjemy następującego zapisu

AddTableRow("Pozycje faktury")

Użycie cudzysłowu dla oznaczenia tekstu

Cudzysłów używamy również dla bezpośredniego podania tekstu jako argumentu funkcji.

Przykładowo obliczenie długości tekstu „To jest mój tekst” wykonamy w następujący sposób:

_dl = Length("To jest mój tekst")

i funkcja zwróci wartość 17, bo tyle znaków zawiera ten tekst.

 

Podobnie gdy używamy funkcji ForwardCase i wprost podajemy do kogo i na jaki etap ma być przekazana sprawa np:

ForwardCase("jkowalski","Księgowanie")

W tym przypadku jkowalski jest loginem użytkownika i jako tekst podajemy go w cudzysłowie. Księgowanie jest nazwą etapu i jako tekst podajemy ją w cudzysłowie

Użycie nawiasów kwadratowych []

Jeżeli chcemy odnieść się do wartości w polu, to nazwę pola podajemy w nawiasach kwadratowych.

Zobaczmy na przykładzie funkcji Length, która zwraca długość tekstu. Załóżmy, że istnieje pole tekstowe o nazwie „Numer faktury”. i zawiera ono wartość „FV/2020/01/956”. Gdy użyjemy funkcji

_dl = Length( [Numer faktury] )

to zwróci ona nam długość tekstu „FV/2020/01/956”, bo taki aktualnie jest w polu Numer faktury, dla tej konkretnej sprawy, dla której uruchamiana jest reguła.

 

Kolejny przykład w oparciu o funkcję ForwardCase. Załóżmy że istnieje pole o nazwie „Osoba opiniująca” i pole to zawiera aktualnie wartość „piotrb”, to użycie funkcji

ForwardCase( [Osoba opiniująca] , "Etap zbierania opinii")

spowoduje przekazanie sprawy do osoby o loginie „piotrb” na etap o nazwie „Etap zbierania opinii”

Bez użycia cudzysłowu i bez użycia nawiasów kwadratowych

Niektóre typu argumentów mogą być podane bez użycia cudzysłowu i bez nawiasów.

Użycie zmiennej

W regułach możemy używać zmiennych lokalnych i możemy je dowolnie nazywać zaczynając od litery lub podkreślnika np

_zmienna = "jkowalski"

użycie jej w funkcji np GetUserData będzie wyglądało tak

_stanowisko = GetUserData( _zmienna, "position")

W wyniku wywołania funkcji zostanie pobrana nazwa stanowiska dla użytkownika „jkowalski”

Użycie wartości logicznych true i false

Wartości logiczne mogą być podawane bez cudzysłowu. Przykładowo w funkcji

IsFormValid(true);

W tym przypadku możemy słowo true podać jako argument bez użycia cudzysłowu. Oczywiście można również wywołać ją w ten sposób

IsFormValid("true");

i też zostanie to przyjęte i wykonane prawidłowo.

Użycie wartości liczbowych

Możemy w niektórych funkcjach podawać bezpośrednio wartości liczbowe np w funkcji AddTableRow, gdy chcemy podać ile wierszy ma być dodanych np tak

AddTableRow("Pozycje faktury", 3 )

gdzie 3 jest liczbą podaną bezpośrednio bez cudzysłowu. Oczywiście prawidłowym jest również następujące wywołanie

AddTableRow("Pozycje faktury", "3" )

 

Was this article helpful?
0 out Of 5 Stars
5 Stars 0%
4 Stars 0%
3 Stars 0%
2 Stars 0%
1 Stars 0%
How can we improve this article?
Please submit the reason for your vote so that we can improve the article.