JavaScript w BPS
WEBCON BPS Designer Studio umożliwia przełączenie edytora Reguł formularza w tryb edytora wyrażeń JavaScript ułatwiającego tworzenia dynamicznych skryptów wykorzystując udostępnione JavaScript API.
Język JavaScript w WEBCON BPS wykorzystywany jest m.in. do zmiany wartości atrybutów, zarządzania widocznością pól formularza, zapewniania dodatkowych warunków walidacji. Skrypty uruchamiane są w następstwie określonych działań użytkownika w Portalu, na przykład, przy zmianie wartości atrybutu, na załadowanie strony lub jako forma dodatkowej walidacji przy wyborze ścieżki przejścia. Użytkownik może wprowadzać skrypty ręcznie bądź też skorzystać z panelu dostępnych skryptów, które są pogrupowane w logiczne zestawy odpowiadające za określoną funkcjonalność.
Konfiguracja
1. Wybór trybu edycji reguły
Przełączanie trybu edycji reguły. W przypadku ustawienia trybu JavaScript wszystkie elementy słownika po wybraniu będą wyświetlane w formacie JavaScript.
2. Obszar edycji wyrażenia
Obszar wprowadzania przez użytkownika wyrażenia JavaScript.
3. Słownik elementów do budowania skryptu
Panel zawiera bibliotekę dostępnych funkcji, jakie mogą zostać wykorzystane do utworzenia skryptu.
4. Pokaż
Po kliknięciu na ten przycisk pojawia się okno z poglądem wprowadzonego wyrażenia.
Wykonywana jest tutaj próba interpretacji skryptu. Jeśli pojawiają się w nim błędy, skrypt nie zostanie wyświetlony.
5. Stwórz uniwersalną regułę
Opcja jest dostępna na poziomie aplikacji. Wybranie jej i zapisanie nowo utworzonej reguły jako reguły procesowej sprawi, że będzie ona dostępna w obrębie całego procesu.
6. Przełącz wszystkie edytory w zaawansowany tryb edycji
Po zaznaczeniu tej opcji wszystkie elementy słownika wyświetlane są jako zmienne w postaci tagów, a także dostępne są ich oznaczenia (pola) w bazie danych.
Funkcje BPS
Wyrażenia JavaScript można budować, korzystając z elementów dostępnych standardowo podczas tworzenia Reguł biznesowych lub Reguł formularza, takich jak Wartości, Obiekty czy Parametry. Jednak w trybie JavaScript dostępne są również funkcje odnoszące się bezpośrednio do obiegów i elementów workflow oraz umożliwiające operacje ne tych elementach.
Reguły formularza procesu
Dostępne są tutaj wszystkie Reguły formularza zdefiniowane przez użytkownika w kontekście bieżącego procesu. Można je wywołać za pomocą funkcji:
InvokeRule(ID)
– wywołuje regułę formularza procesu o wskazanym ID.
-
Parametry:
ID
– identyfikator reguły w bazie danych. -
Przykład użycia:
InvokeRule(3231)
Reguły formularza globalne
Dostępne są tutaj wszystkie Reguły formularza zdefiniowane globalnie w systemie. Można je wywołać za pomocą funkcji:
InvokeRule(ID)
– wywołuje globalną regułę formularza o wskazanym ID.
-
Parametry:
ID
– identyfikator reguły w bazie danych. -
Przykład użycia:
InvokeRule(3016)
Hiperłącza
Grupa funkcji umożliwiających wystartowanie lub otwarcie elementów workflow (w nowym oknie przeglądarki).
StartElement(workflowID, formID, 'queryParameters')
– umożliwia wystartowanie nowego elementu workflow.
-
Parametry:
workflowID
– identyfikator obiegu w bazie danych.
formID
– identyfikator formularza w bazie danych.
'queryParameters'
– opcjonalne parametry funkcji. -
Przykład użycia:
StartElement(1208, 6, 'AttText1=' + encodeURIComponent('WEBCON') + '&AttText2=' + encodeURIComponent('BPS'))
– startuje formularz o ID równym 6 w obiegu o ID równym 1208, na którym automatycznie uzupełnione są pola tekstowe o bazodanowych nazwach „AttText1” i „AttText2” wartościami odpowiednio „WEBCON” i „BPS”.
StartElementInNewWindow(workflowID, formID, 'queryParameters')
– umożliwia wystartowanie nowego elementu workflow w nowym oknie przeglądarki.
-
Parametry:
workflowID
– identyfikator obiegu w bazie danych.
formID
– identyfikator formularza w bazie danych.
'queryParameters'
– opcjonalne parametry funkcji. -
Przykład użycia:
StartElementInNewWindow(1208, 6, 'AttText1=' + encodeURIComponent('WEBCON') + '&AttText2=' + encodeURIComponent('BPS'))
– startuje w nowej karcie przeglądarki formularz o ID równym 6 w obiegu o ID równym 1208, na którym automatycznie uzupełnione są pola tekstowe o bazodanowych nazwach „AttText1” i „AttText2” wartościami odpowiednio „WEBCON” i „BPS”.
OpenElement(elementID, 'queryParameters')
– otwiera element workflow.
-
Parametry:
elementID
– sygnatura elementu.
'queryParameters'
– opcjonalne parametry funkcji. -
Przykład użycia:
OpenElement(2023/01/006, 'AttText1=' + encodeURIComponent('WEBCON') + '&AttText2=' + encodeURIComponent('BPS'))
– otwiera formularz o sygnaturze 2023/01/006, na którym automatycznie uzupełnione są pola tekstowe o bazodanowych nazwach „AttText1” i „AttText2” wartościami odpowiednio „WEBCON” i „BPS”.
OpenElementInNewWindow(elementID, 'queryParameters')
– otwiera element workflow w nowym oknie przeglądarki.
-
Parametry:
elementID
– sygnatura elementu.
'queryParameters'
– opcjonalne parametry funkcji. -
Przykład użycia:
OpenElementInNewWindow(2023/01/006, 'AttText1=' + encodeURIComponent('WEBCON') + '&AttText2=' + encodeURIComponent('BPS'))
– otwiera w nowej karcie przeglądarki formularz o sygnaturze 2023/01/006, na którym automatycznie uzupełnione są pola tekstowe o bazodanowych nazwach „AttText1” i „AttText2” wartościami odpowiednio „WEBCON” i „BPS”.
GetPortalAddress()
– reprezentuje adres Portalu (np. https://intranet.webcon.com/PORTAL/
). Zmienna pozwala dynamicznie tworzyć linki do takich elementów Portalu jak raporty czy dashboardy.