Reguły Formularza – Nowe spojrzenie na JavaScript

Facebooktwitterpinterestlinkedinmail
Dotyczy wersji 2017.1.x; Autor: Przemysław Sierant

Wstęp

W wersji WEBCON BPS 2017 została dodana nowa funkcjonalność Reguł Formularza, dzięki której w prosty i bardziej intuicyjny sposób można tworzyć zaawansowane funkcje JavaScript-owe. Tworzenie nowych reguł wykonuje się po przez graficzny edytor, analogicznie jak w przypadku reguł biznesowych. Uzupełnianie wartości reguły formularza można wykonywać metodą drag-and-drop z dostępnego panelu przybornika, lub wpisując je ręcznie wybierając odpowiednie wartości z okna podpowiedzi.

 

Edytor reguł formularza pozwala na korzystanie ze stałych, stałych globalnych, atrybutów, atrybutów globalnych, innych reguł formularza w danym procesie oraz reguł formularza globalnych, dzięki czemu możliwe jest tworzenie złożonych wyrażeń operujących na wszystkich tych wartościach.

W przypadku gdy użytkownik chciałby skorzystać ze standardowych funkcji JavaScript, tak jak miało to miejsce do wersji 2016 WEBCON BPS i w klasyczny sposób utworzyć funkcję JS, możliwe jest zmienienie trybu edycji.

 

Utworzone reguły formularza można użyć na zmianę wartości atrybutu, do uruchomienia przy ładowaniu strony, ładowaniu strony i postback-ach, na zachowaniu w formularzu klasycznym, na zachowanie w formularzu mobilnym oraz do dodatkowej walidacji na ścieżce przejścia.


Dostępne funkcje i operacje

Aby ułatwić tworzenie nowych Reguł formularza, przygotowane zostały zdefiniowane operacje i funkcje. Poniżej zostanie opisana jedna przykładowa funkcja oraz operacje, jakie można użyć. Zostanie również przedstawiony przykład jak podane rozwiązanie działa zarówno w nowym trybie reguły formularza, oraz w starym trybie JavaScript, który był wykorzystywany w poprzednich wersjach programu.


Operacje

W regułach formularza możliwe jest używanie operacji arytmetycznych takich jak dodawanie, odejmowanie, mnożenie oraz dzielenie. Operacji logicznych: AND, OR, NOT. Operacji porównania: mniejsze od… (<), mniejsze bądź równe od… (<=), większe od… (>), większe bądź równe od… (>=), równe (=), różne od… (<>) oraz puste (EMPTY).

Dodawanie, odejmowanie, mnożenie oraz dzielenie dwóch wartości liczbowych zwróci wynik w postaci liczby. Dodanie wartości tekstowych, zwróci połączony ciąg znaków jako tekst. Próba odjęcia, pomnożenia lub podzielenia innych wartości niż liczbowe zwróci błąd.

Operacje porównania (=) oraz różnicy (<>) zwrócą TRUE gdy wartości liczbowe będą równe, bądź różne. Możliwe jest porównanie dwóch wartości tekstowych, bez uwzględnienia wielkości znaków, w kulturze „InvariantCulture”, jeżeli wartości będą identyczne zostanie zwrócone „True” dla równości (=), oraz FALSE dla różnicy (<>).

Pozostałe operacje porównania można stosować dla liczb oraz dat z dokładnością do czasu w milisekundach. Jeżeli warunek zostanie spełniony poprawnie, zostanie zwrócona wartość TRUE, w przeciwnym wypadku FASLE. Próba porównania wartości tekstowych zwróci błąd.


Funkcje – Zachowanie

SET – Jedną z najbardziej podstawowych funkcji jest funkcja „Set” pozwalająca przypisać atrybutowi na formularzu podaną wartość.

 

Atrybutowi “Liczba zmiennoprzecinkowa” o nazwie “Kwota brutto” zostanie przypisana wartość liczbowa „123.45”. W podanym przykładzie widać podstawową różnicę, a zarazem największe udogodnienie jakie wynika z wprowadzenia Reguł Formularza. Podczas tworzenia dowolnej reguły, wymagana jest jedynie znajomość nazwy danego atrybutu, która została ustawiona w programie, bądź dowolnego innego obiektu jaki ma zostać wykorzystany (nazwa atrybutu, ścieżki przejścia, kroku, reguły formularza, stałej, itp.) W trybie JavaScript wymagana była znajomość nazwy, która była zapisywana na bazie danych.

Użytkownik nie musi również przejmować się składnią danej funkcjonalności. W przypadku funkcji ‘SET’ dostępne są tylko dwa pola, które należy uzupełnić. Do każdej funkcji wyświetlana jest pomoc z przykładem, jak należy ją skonfigurować, aby działała poprawnie oraz podane są do uzupełnienia tylko wymagane pola.

 

W przypadku trybu JavaScript pominięcie dowolnego znaku lub podanie niepoprawnej ilości parametrów funkcji, spowodowałby zwrócenie błędu na witrynie.