Print

Argumenty funkcji

Wprowadzenie

W silniku reguł języka AMODIT Script wiele funkcji używa argumentów, np. funkcja dodająca wiersz do tabeli  – AddTableRow(tableName,rowCount);. Z tego artykułu dowiesz się, w jaki sposób przekazywać wartości do funkcji reguł, aby wykonały one stosowne akcje na tychże wartościach.

Argumenty funkcji reguł

Funkcje reguł mogą:

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 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” przy pomocy funkcji Length() 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, nie licząc cudzysłowów.

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

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 przechowywanej w polu formularza sprawy, 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„, czyli 14, bo taka wartość 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ą, a nawet powinny, być podawane bez cudzysłowu. Przykładowo w funkcji IsFromValid():

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 do tabeli, np. w taki sposób (zalecany!):

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" )

 

Czy artykuł był pomocny?
0 na 5 gwiazdek
5 Stars 0%
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?