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.
Przejście ścieżką
W ramach tej grupy dostępna jest jedna funkcja:
MoveToNextStep(pathID)
– powoduje przejście elementu workflow wskazaną ścieżką do kolejnego kroku obiegu.
-
Parametry:
pathID
– identyfikator ścieżki przejścia w bazie danych. -
Przykład użycia:
MoveToNextStep(1661)
Akcje menu
W ramach tej grupy dostępna jest jedna funkcja:
InvokeMenuAction(buttomID)
– uruchamia akcję wywoływaną przez wskazany przycisk menu.
-
Parametry:
buttonID
– identyfikator przycisku menu w bazie danych. -
Przykład użycia:
InvokeMenuAction(152)
Grupy funkcji JavaScript
Ustaw
Grupa obejmuje funkcje umożliwiające przypisywanie wartości atrybutom formularza i kolumnom Listy pozycji.
SetTypedValue('Name', {value})
– ustawia wartości dla atrybutów typu Liczba zmiennoprzecinkowa oraz Data i godzina.
-
Parametry:
'Name'
– bazodanowa nazwa atrybutu, tj. pozbawiona prefiksu nazwa kolumny w bazie danych przechowująca atrybut.
{value}
– wartość liczbowa, która zostanie ustawiona dla wskazanego atrybutu. W przypadku daty należy uwzględnić klasę obiektu. -
Przykład użycia:
SetTypedValue('AttDateTime1', {value: new Date('2023,0,30,13,45')})
SetTypedValue('AttDecimal1', {value: 123.45})
SetValue('Name','wartość')
– ustawia wartości dla atrybutów tekstowych, pól wyboru itp.
-
Parametry:
'Name'
– bazodanowa nazwa atrybutu, tj. pozbawiona prefiksu nazwa kolumny w bazie danych przechowująca atrybut.
'wartość'
– ciąg znaków lub wartość tekstowa, która zostanie ustawiona dla wskazanego atrybutu. -
Przykład użycia:
SetValue('AttLong3', 'tekst')
SetValue('AttChoose1','domena\\login#Nazwa')
SetSubTypedValue(ID, currentRowNumberVariable, 'Name', {value})
– ustawia wartość dla wskazanego wiersza w kolumnie Listy pozycji typu Liczba zmiennoprzecinkowa oraz Data i godzina.
-
Parametry:
ID
– identyfikator Listy pozycji.
currentRowNumberVariable
– numer wiersza Listy pozycji (począwszy od 1).
Name
– bazodanowa nazwa kolumny Listy pozycji, tj. pozbawiona prefiksu nazwa kolumny w bazie danych przechowująca kolumnę Listy pozycji.
{value}
– wartość liczbowa, która zostanie ustawiona we wskazanym wierszu kolumny Listy pozycji. W przypadku daty należy uwzględnić klasę obiektu. -
Przykład użycia:
SetSubTypedValue(4092, 4, 'DET_Value1', { value: 3})
– ustawia wartość 3 w kolumnie „DET_Value1” w wierszu nr 4 w liście pozycji o ID równym 4092.
SetSubTypedValue(4092, 5, 'DET_Att2', {value: new Date(2023,0,30,13,45)})
SetSubValue(ID, currentRowNumberVariable, 'Name','wartość')
– ustawia wartość dla wskazanego wiersza kolumn Listy pozycji będących polami tekstowymi, polami wyboru itp.
-
Parametry:
ID
– identyfikator Listy pozycji.
currentRowNumberVariable
– numer wiersza Listy pozycji (począwszy od 1).
Name
– bazodanowa nazwa kolumny Listy pozycji, tj. pozbawiona prefiksu nazwa kolumny w bazie danych przechowująca kolumnę Listy pozycji.
'wartość'
– ciąg znaków lub wartość tekstowa, która zostanie ustawiona we wskazanym wierszu kolumny Listy pozycji. -
Przykład użycia:
SetSubValue(4092, 1, 'DET_Att1', 'nie dotyczy')
Pobierz
Grupa funkcji, które zwracają wartości wybranych atrybutów / kolumn Listy pozycji lub też identyfikator bądź nazwę obiektu wybranego z atrybutu / kolumny Listy pozycji.
GetTypedValue('Name').value
– pobiera wartości dla atrybutów typu: Liczba zmiennoprzecinkowa oraz Data i godzina.
-
Parametry:
'Name'
– bazodanowa nazwa atrybutu, tj. pozbawiona prefiksu nazwa kolumny w bazie danych przechowująca atrybut.
value
– wartość liczbowa pobierana dla wskazanego atrybutu. -
Przykład użycia:
GetTypedValue('AttDateTime1').value
GetTypedValue('AttDecimal1').value
GetValue('Name')
– pobiera wartości dla atrybutów tekstowych, pól wyboru itp.
-
Parametry:
'Name'
– bazodanowa nazwa atrybutu, tj. pozbawiona prefiksu nazwa kolumny w bazie danych przechowująca atrybut. -
Przykład użycia:
GetValue('AttLong3',)
GetValue('AttChoose1')
GetPairID(GetValue('Name'))
– pobiera identyfikator (ID) dla atrybutów tekstowych, pól wyboru itp.
-
Parametry:
'Name'
– bazodanowa nazwa atrybutu, tj. pozbawiona prefiksu nazwa kolumny w bazie danych przechowująca atrybut. -
Przykład użycia:
GetPairID(GetValue('AttChoose1'))
GetPairID(GetValue('AttInt1'))
GetPairName(GetValue('Name'))
– pobiera nazwy dla atrybutów tekstowych, pól wyboru itp.
-
Parametry:
'Name'
– bazodanowa nazwa atrybutu, tj. pozbawiona prefiksu nazwa kolumny w bazie danych przechowująca atrybut. -
Przykład użycia:
GetPairName(GetValue('AttInt3'))
GetPairName(GetValue('AttChoose2'))
GetSubTypedValue(ID, currentRowNumberVariable, 'Name').value
– pobiera wartość liczbową ze wskazanego wiersza kolumny Listy pozycji typu Liczba zmiennoprzecinkowa oraz Data i godzina.
-
Parametry:
ID
– identyfikator Listy pozycji.
currentRowNumberVariable
– numer wiersza Listy pozycji (począwszy od 1).
'Name'
– bazodanowa nazwa kolumny Listy pozycji, tj. pozbawiona prefiksu nazwa kolumny w bazie danych przechowująca kolumnę Listy pozycji.
value
– wartość liczbowa, która zostanie pobrana ze wskazanego wiersza kolumny Listy pozycji. -
Przykład użycia:
GetSubTypedValue(4092, 3, 'DET_Value3').value
GetSubValue(ID, currentRowNumberVariable, 'Name')
– pobiera wartość ze wskazanego wiersza kolumn Listy pozycji będących polami tekstowymi, polami wyboru itp.
-
Parametry:
ID
– identyfikator Listy pozycji.
currentRowNumberVariable
– numer wiersza Listy pozycji (począwszy od 1).
'Name'
– bazodanowa nazwa kolumny Listy pozycji, tj. pozbawiona prefiksu nazwa kolumny w bazie danych przechowująca kolumnę Listy pozycji. -
Przykład użycia:
GetSubValue(4092, 5, 'DET_Att1')
GetPairID(GetSubValue(ID, currentRowNumberVariable, 'Name'))
– pobiera ID (identyfikator) dla wskazanego wiersza kolumn Listy pozycji będących polami tekstowymi, polami wyboru itp.
-
Parametry:
ID
– identyfikator Listy pozycji.
currentRowNumberVariable
– numer wiersza Listy pozycji (począwszy od 1).
'Name'
– bazodanowa nazwa kolumny Listy pozycji, tj. pozbawiona prefiksu nazwa kolumny w bazie danych przechowująca kolumnę Listy pozycji. -
Przykład użycia:
GetPairID(GetSubValue(4092, 4, 'DET_Att3'))
GetPairName(GetSubValue(ID, currentRowNumberVariable, 'Name'))
– pobiera nazwę dla wskazanego wiersza kolumn Listy pozycji będących polami tekstowymi, polami wyboru itp.
-
Parametry:
ID
– identyfikator Listy pozycji.
currentRowNumberVariable
– numer wiersza Listy pozycji (począwszy od 1).
'Name'
– bazodanowa nazwa kolumny Listy pozycji, tj. pozbawiona prefiksu nazwa kolumny w bazie danych przechowująca kolumnę Listy pozycji. -
Przykład użycia:
GetPairName(GetSubValue(4092, 4, 'DET_Att3'))
Ukryj
Grupa funkcji pozwalających ukrywać elementy formularza: atrybuty, Listy pozycji i ich kolumny, komentarze, kontrolki.
HideField('Name')
– ukrywa wskazany atrybut na formularzu.
-
Parametry:
'Name'
– bazodanowa nazwa atrybutu, tj. pozbawiona prefiksu nazwa kolumny w bazie danych przechowująca atrybut. -
Przykład użycia:
HideField('AttChoose4')
HideField('AttDecimal1')
HideSubelementControl(ID)
– ukrywa wskazaną kontrolkę Listy pozycji.
-
Parametry:
ID
– identyfikator Listy pozycji. -
Przykład użycia:
HideSubelementControl(4092)
HideSubelementColumn(ID, 'Name')
– ukrywa wskazaną kolumnę Listy pozycji.
-
Parametry:
ID
– identyfikator Listy pozycji.
'Name'
– bazodanowa kolumna Listy pozycji, tj. pozbawiona prefiksu nazwa kolumny w bazie danych przechowująca kolumnę Listy pozycji. -
Przykład użycia:
HideSubelementColumn(4092, 'DET_Value1')
HideComment()
– ukrywa określony komentarz na formularzu. W nawisach należy wpisać treść komentarza.
- Przykład użycia:
HideComment()
HideOAuthControl(ID)
– ukrywa kontrolkę autentykacji oAuth.
-
Parametry:
ID
– identyfikator atrybutu w bazie danych. -
Przykład użycia:
HideOAuthControl(4517)
HideTab(ID)
– ukrywa wskazany Panel zakładek na formularzu.
-
Parametry:
ID
– identyfikator Panelu zakładek w bazie danych. -
Przykład użycia:
HideTab(4537)
HideItemListButton<Typ>(ID listy pozycji)
– ukrywa wskazany przycisk Listy pozycji. Po wybraniu węzła konkretnej Listy pozycji i rozwinięciu węzła Item list button podwójne kliknięcie nazwy konkretnego przycisku lub jej przeciągnięcie do pola reguły powoduje osadzenie funkcji.
Przykład:
HideItemListButtonAdd
– ukrywa przycisk Dodaj,
HideItemListButtonEditAll
– ukrywa przycisk Edytuj wszystkie,
HideItemListButtonRestore
– ukrywa przycisk Wczytaj domyślne,
HideItemListButtonRemoveAll
– ukrywa przycisk Usuń wszystkie,
HideItemListButtonExport
– ukrywa przycisk Eksportuj,
HideItemListButtonImport
– ukrywa przycisk Importuj plik Excel,
HideRowButton<Typ przycisku>(ID listy pozycji), currentRowNumber)
– ukrywa wskazany przycisk wiersza Listy pozycji. Po wybraniu węzła konkretnej Listy pozycji i rozwinięciu węzła Item list row button podwójne kliknięcie w nazwę konkretnego przycisku powoduje osadzenie funkcji w regule.
Przykład:
HideItemListRowButtonDelete
– ukrywa przycisk Usuń,
HideItemListRowButtonClone
– ukrywa przycisk Klonuj,
HideItemListRowButtonEdit
- ukrywa przycisk Edytuj,
Pokaż
Grupa funkcji pozwalających wyświetlać elementy formularza: atrybuty, Listy pozycji i ich kolumny, komentarze, kontrolki, które były wcześniej ukryte.
ShowField('Name')
– odsłania wskazany atrybut na formularzu.
-
Parametry:
'Name'
– bazodanowa nazwa atrybutu, tj. pozbawiona prefiksu nazwa kolumny w bazie danych przechowująca atrybut. -
Przykład użycia:
ShowField('AttChoose4');
ShowField('AttDecimal1');
ShowSubelementControl(ID)
– odsłania ukrytą wcześniej kontrolkę Listy pozycji.
-
Parametry:
ID
– identyfikator Listy pozycji. -
Przykład użycia:
ShowSubelementControl(4092)
ShowSubelementColumn(ID, 'Name')
– odsłania ukrytą wcześniej kolumnę Listy pozycji.
-
Parametry:
ID
– identyfikator Listy pozycji.
'Name'
– bazodanowa kolumna Listy pozycji, tj. pozbawiona prefiksu nazwa kolumny w bazie danych przechowująca kolumnę Listy pozycji. -
Przykład użycia:
ShowSubelementColumn(4092, 'DET_Att3')
ShowComment()
– powoduje wyświetlenie ukrytego wcześniej komentarza. W nawisach należy wpisać treść komentarza.
- Przykład użycia:
ShowComment()
ShowOAuthControl(ID)
– odsłania kontrolkę autentykacji oAuth.
-
Parametry:
ID
– identyfikator atrybutu w bazie danych. -
Przykład użycia:
ShowOAuthControl(4517)
ShowTab(ID)
– odsłania ukryty wcześniej Panel zakładek na formularzu.
-
Parametry:
ID
– identyfikator Panelu zakładek w bazie danych. -
Przykład użycia:
ShowTab(4537)
ShowItemListButton<Typ>(ID listy pozycji)
– wyświetla wskazany przycisk Listy pozycji. Po wybraniu węzła konkretnej Listy pozycji i rozwinięciu węzła Item list button podwójne kliknięcie nazwy konkretnego przycisku lub jej przeciągnięcie do okna reguły powoduje osadzenie funkcji.
Przykład:
ShowItemListButtonAdd
– wyświetla przycisk Dodaj,
ShowItemListButtonEditAll
– wyświetla przycisk Edytuj wszystkie,
ShowItemListButtonRestore
– wyświetla przycisk Wczytaj domyślne,
ShowItemListButtonRemoveAll
– wyświetla przycisk Usuń wszystkie,
ShowItemListButtonExport
– wyświetla przycisk Eksportuj,
ShowItemListButtonImport
– wyświetla przycisk Importuj plik Excel,
ShowRowButton<Typ przycisku>(ID listy pozycji), currentRowNumber)
– wyświetla wskazany przycisk wiersza Listy pozycji. Po wybraniu węzła konkretnej Listy pozycji i rozwinięciu węzła Item list row button podwójne kliknięcie w nazwę konkretnego przycisku powoduje osadzenie funkcji w regule.
Przykład:
ShowItemListRowButtonDelete
– wyświetla przycisk Usuń,
ShowItemListRowButtonClone
– wyświetla przycisk Klonuj,
ShowItemListRowButtonEdit
- wyświetla przycisk Edytuj,
Zablokuj
W ramach tej grupy dostępna jest jedna funkcja:
DisableControl('Name')
– blokuje kontrolki wybranych atrybutów. Zablokowanych w ten sposób pól nie będzie można edytować ani zmieniać.
-
Parametry:
'Name'
– bazodanowa nazwa atrybutu, tj. pozbawiona prefiksu nazwa kolumny w bazie danych przechowująca atrybut. -
Przykład użycia:
DisableControl('AttText2Glob')
DisableControl('AttText7')
Odblokuj
W ramach tej grupy dostępna jest jedna funkcja:
EnableControl('Name')
– odblokowuje kontrolki wybranych atrybutów.
-
Parametry:
'Name'
– bazodanowa nazwa atrybutu, tj. pozbawiona prefiksu nazwa kolumny w bazie danych przechowująca atrybut. -
Przykład użycia:
EnableControl('AttText2Glob')
EnableControl('AttText7')
Oznacz jako wymagane
Grupa funkcji pozwalających oznaczyć wybrane elementy formularza jako wymagane.
MarkRequired('Name')
– powoduje oznaczenie atrybutu jako wymagany.
-
Parametry:
'Name'
– bazodanowa nazwa atrybutu, tj. pozbawiona prefiksu nazwa kolumny w bazie danych przechowująca atrybut. -
Przykład użycia:
MarkRequired('AttChoose1')
MarkRequired('AttDateTime2')
MarkSubelementRequired(ID, 'Name')
– powoduje oznaczenie kolumny Listy pozycji jako wymaganej.
-
Parametry:
ID
– identyfikator Listy pozycji.
'Name'
– bazodanowa kolumna Listy pozycji, tj. pozbawiona prefiksu nazwa kolumny w bazie danych przechowująca kolumnę Listy pozycji. -
Przykład użycia:
MarkSubelementRequired(4086, 'DET_Att1')
MarkSubelementRequired(4092, 'DET_Att3')
Oznacz jako niewymagane
Grupa funkcji pozwalających oznaczyć wybrane elementy formularza jako niewymagane.
MarkNotRequired('Name')
– powoduje oznaczenie atrybutu jako niewymagany.
-
Parametry:
'Name'
– bazodanowa nazwa atrybutu, tj. pozbawiona prefiksu nazwa kolumny w bazie danych przechowująca atrybut. -
Przykład użycia:
MarkNotRequired('AttChoose1')
MarkNotRequired('AttDateTime2')
MarkSubelementNotRequired(ID, 'Name')
– powoduje oznaczenie kolumny Listy pozycji jako niewymaganej.
-
Parametry:
ID
– identyfikator Listy pozycji.
'Name'
– bazodanowa kolumna Listy pozycji, tj. pozbawiona prefiksu nazwa kolumny w bazie danych przechowująca kolumnę Listy pozycji. -
Przykład użycia:
MarkSubelementNotRequired(4086, 'DET_Att1')
MarkSubelementNotRequired(4092, 'DET_Att3')
Zwiń
W ramach tej grupy dostępna jest jedna funkcja:
CollapseGroup(ID)
– powoduje ukrycie/zwinięcie atrybutów należących do danej grupy. Na formularzu wyświetlana będzie wyłącznie nazwa grupy atrybutów.
-
Parametry:
ID
– identyfikator atrybutu w bazie danych. -
Przykład użycia:
CollapseGroup(4420)
Rozwiń
W ramach tej grupy dostępna jest jedna funkcja:
ExpandGroup(ID)
– powoduje wyświetlenie zwiniętych wcześniej atrybutów należących do danej grupy.
-
Parametry:
ID
– identyfikator atrybutu w bazie danych. -
Przykład użycia:
ExpandGroup(4093)
Globalne
Grupa funkcji/zmiennych zwracających i sprawdzających dane dotyczących globalnych elementów formularza.
G_APP
– zwraca nazwę aplikacji w formacie „ID#Nazwa”.
G_PROC
– zwraca nazwę procesu w formacie „ID#Nazwa”.
G_WF
– zwraca nazwę obiegu w formacie „ID#Nazwa”.
G_DOCTYPE
– zwraca nazwę typu formularza w formacie „ID#Nazwa”.
G_WFSTEP
– zwraca nazwę kroku obiegu, na jakim aktualnie znajduje się element workflow w formacie „ID#Nazwa”.
G_COM
– zwraca nazwę organizacji w formacie „ID#Nazwa”.
G_CURUSER
– zwraca nazwę aktualnie zalogowanego użytkownika w formacie „domena\login#Nazwa”.
G_WFELEM
– zwraca nazwę elementu workflow w formacie „ID#Sygnatura”.
G_WFELEM_PARENT
– zwraca nazwę nadrzędnego elementu workflow w formacie „ID#Sygnatura”.
Dla wszystkich powyższych zmiennych dostępne są funkcje GetPairID
oraz GetPairName
, które zwracają odpowiednio ID lub nazwę elementu globalnego (bez ID lub domeny i loginu).
G_ADMINMODE
– sprawdza, czy użytkownik pracuje z formularzem w trybie administratora. Funkcja zwraca odpowiednio wartości „true” lub „false”.
G_EDITMODE
– sprawdza, czy włączono tryb edycji. Funkcja zwraca odpowiednio wartość „true” lub „false”.
G_ISMOBILE
– sprawdza, czy użytkownik pracuje z formularzem na urządzeniu mobilnym. Funkcja zwraca odpowiednio wartość „true” lub „false”.
G_ISCOMPACT
– sprawdza, czy użytkownik pracuje z formularzem w wersji kompaktowej. Funkcja zwraca odpowiednio wartość „true” lub „false”.
G_ISNEW
– sprawdza, czy użytkownik pracuje z nowo utworzonym formularzem. Funkcja zwraca odpowiednio wartość „true” lub „false”.
SetFormTitle('')
– ustawia nazwę formularza zgodnie z wartością wprowadzoną jako parametr funkcji.
- Przykład użycia:
SetFormTitle('Nowy formularz rejestracji')
– funkcja zmieni nazwę formularza na „Nowy formularz rejestracji”.
SetFormSubtitle('')
– ustawia podtytuł w banerze formularza zgodnie z wartością wprowadzoną jako parametr funkcji.
- Przykład użycia:
SetFormSubtitle('Formularz przeznaczony dla pracowników Działu IT')
– funkcja zmieni podtytuł w banerze formularza na „Formularz przeznaczony dla pracowników Działu IT”.
Systemowe
Grupa systemowych funkcji JavaScript.
ConvertStringToFloat('10.10')
– sprawdza i konwertuje ciąg znaków do formatu Liczby zmiennoprzecinkowej.
- Przykład użycia:
ConvertStringToFloat('98.80')
zwróci liczbę „98.9”.
ConvertFloatToString(10.1010, 2)
– sprawdza i przekształca atrybut typu Liczba zmiennoprzecinkowa na ciąg znaków rozdzielony przecinkami.
- Przykład użycia:
ConvertFloatToString('98.80, 5')
zwróci ciąg znaków „98,800000”.
StringToDate('2010-01-01')
– konwertuje ciąg znaków do formatu daty.
- Przykład użycia:
StringToDate('2023-09-14')
zwróci zapis daty „Thu Sep 14 2023 00:00:00 GMT+0200 (czas środkowoeuropejski letni)”.
DateToString(new Date(), 'pl')
– zmienia wartość atrybutu typu Data i godzina na tekst w formacie 'pl' lub 'en'.
- Przykład użycia:
DateToString(new Date(), 'pl')
zwróci datę w formacie polskim „2023-09-14”.
DateToString(new Date(), 'en')
zwróci datę w formacie amerykańskim (US-EN) „9/14/2023”.
DateToString(new Date())
– zmienia wartość atrybutu typu Data i godzina na tekst w formacie [yyyy-mm-dd].
- Przykład użycia:
DateToString(new Date())
zwróci datę „2023-09-14”.
EnableRootPanel()
– powoduje odblokowanie głównego widoku formularza.
DisableRootPanel()
– powoduje zablokowanie głównego widoku formularza.
Lista pozycji
Grupa funkcji umożliwiających operacje wyłącznie na atrybucie typu Lista pozycji.
SubelementHasRows(ID)
– sprawdza, czy do Listy pozycji dodano wiersze. Funkcja zwraca odpowiednio wartość „true” lub „false”.
-
Parametry:
ID
– identyfikator Listy pozycji w bazie danych. -
Przykład użycia:
SubelementHasRows(4092)
SubelementCountRows(ID)
– zlicza i zwraca sumę wierszy Lista pozycji. Jeżeli do Listy pozycji nie dodano wierszy, funkcja zwróci „0”.
-
Parametry:
ID
– identyfikator Listy pozycji w bazie danych. -
Przykład użycia:
SubelementCountRows(4092)
SubelementInitialization(ID)
– ponownie inicjalizuje Listę pozycji, w następstwie czego zostanie ona uzupełniona wartościami podanymi w konfiguracji. Funkcja nie zadziała, jeśli formularz znajduje się na kroku końcowym.
-
Parametry:
ID
– identyfikator Listy pozycji w bazie danych. -
Przykład użycia:
SubelementInitialization(4092)
– wykonuje powtórną inicjalizację Listy pozycji o ID równym 4092 w oparciu o wcześniejszą konfigurację.
SubelementDelete(ID, 1)
– usuwa wskazany wiersz Listy pozycji.
-
Parametry:
ID
– identyfikator Listy pozycji w bazie danych.1
– numer wiersza Listy pozycji (począwszy od 1). -
Przykład użycia:
SubelementDelete(4092, 8)
– usuwa ósmy wiersz Listy pozycji o ID równym 4092.
DeleteSubelementRows(ID, [1, 2, 3, ...])
– usuwa wskazane wiersze Listy pozycji.
-
Parametry:
ID
– identyfikator Listy pozycji w bazie danych.
1, 2, 3
– numery wierszy Listy pozycji (począwszy od 1). -
Parametry:
ID
– identyfikator Listy pozycji w bazie danych. -
Przykład użycia:
DeleteSubelementRows(4092, [3, 5, 7])
– usuwa wiersze 3, 5 i 7 Listy pozycji o ID równym 4092.
SubelementDelete(ID)
– usuwa wszystkie wiersze Listy pozycji.
-
Parametry:
ID
– identyfikator Listy pozycji w bazie danych. -
Przykład użycia:
SubelementDelete(4092)
– usuwa wszystkie wiersze Listy pozycji o ID równym 4092.
Panel zakładek
W ramach tej grupy dostępna jest jedna funkcja:
SelectTab(ID)
– pozwala wybrać wskazany Panel zakładek na formularzu.
-
Parametry:
ID
– identyfikator Panelu zakładek w bazie danych. -
Przykład użycia:
SelectTab(4537)
– wybierze Panel zakładek o ID równym 4537.
Załączniki
Grupa funkcji umożliwiających operacje na załącznikach dodanych do elementu obiegu.
G_ATTCOUNT
– zwraca liczbę załączników dodanych do elementu obiegu.
CheckIfAttExists('Regex')
– sprawdza, czy wśród załączników dodanych do elementu obiegu istnieje załącznik o parametrach zdefiniowanych za pomocą wyrażenia regularnego. Funkcja zwraca odpowiednio wartość „true” lub „false”.
-
Parametry:
Regex
– wyrażenie regularne. -
Przykład użycia:
CheckIfAttExists('[.]xlsx$')
– sprawdza, czy wśród załączników dodanych do formularza dostępny jest plik o rozszerzeniu .xlsx.
CheckIfAttExists('^FakturaVAT[.]pdf$')
– sprawdza, czy wśród załączników dodanych do formularza dostępny jest plik o rozszerzeniu .pdf i nazwie „FakturaVAT”.
OAuth
Grupa funkcji umożliwiających operacje na atrybutach typu Autentykacja oAuth2.
Authenticate(ID)
– iniciuje uwierzytelnienie dla atrybutu typu Autentykacja oAuth2 poprzez zalogowanie się do wybranego w konfiguracji systemu dostawcy uwierzytelniania OAuth2.
-
Parametry:
ID
– identyfikator atrybutu w bazie danych. -
Przykład użycia:
Authenticate(4517)
IsAuthenticated(ID)
– sprawdza, czy nastąpiło uwierzytelnienie poprzez zalogowanie się do wskazanego dla atrybutu dostawcy uwierzytelnienia oAuth2. Funkcja zwraca odpowiednio wartość „true” lub „false”.
-
Parametry:
ID
– identyfikator atrybutu w bazie danych. -
Przykład użycia:
IsAuthenticated(4517)
GetToken(ID)
– pobiera token dostępowy wydany podczas uwierzytelniania użytkownika.
-
Parametry:
ID
– identyfikator atrybutu w bazie danych. -
Przykład użycia:
GetToken(4517)
QR Scan
Grupa funkcji pozwalających generować/skanować przyciski z kodem QR.
ShowQrButton('Name')
– wyświetla przycisk z kodem QR dla atrybutu.
-
Parametry:
'Name'
– bazodanowa nazwa atrybutu, tj. pozbawiona prefiksu nazwa kolumny w bazie danych przechowująca atrybut. -
Przykład użycia:
ShowQrButton('AttDecimal1')
ShowQrButton('AttChoose1Glob')
ShowSubelementQrButton(ID, 'Name', currentRowNumberVariable)
– wyświetla przycisk z kodem QR dla kolumny Listy pozycji we wskazanym wierszu.
-
Parametry:
ID
– identyfikator Listy pozycji.
'Name'
– bazodanowa nazwa kolumny Listy pozycji, tj. pozbawiona prefiksu nazwa kolumny w bazie danych przechowująca kolumnę Listy pozycji.
currentRowNumberVariable
– numer wiersza Listy pozycji (począwszy od 1). -
Przykład użycia:
ShowSubelementQrButton(4092, 'DET_Value1', 3)
HideQrButton('Name')
– ukrywa przycisk z kodem QR dla atrybutu.
-
Parametry:
'Name'
– bazodanowa nazwa atrybutu, tj. pozbawiona prefiksu nazwa kolumny w bazie danych przechowująca atrybut. -
Przykład użycia:
HideQrButton('AttDecimal1')
HideQrButton('AttChoose1Glob')
HideSubelementQrButton(ID, 'Name', currentRowNumberVariable)
– ukrywa przycisk z kodem QR dla kolumny Listy pozycji we wskazanym wierszu.
-
Parametry:
ID
– identyfikator Listy pozycji.
'Name'
– bazodanowa nazwa kolumny Listy pozycji, tj. pozbawiona prefiksu nazwa kolumny w bazie danych przechowująca kolumnę Listy pozycji.
currentRowNumberVariable
– numer wiersza Listy pozycji (począwszy od 1). -
Przykład użycia:
HideSubelementQrButton(4092, 'DET_Value1', 3)
ScanQrValue('Name')
– iniciuje skanowanie kodu QR zdefiniowanego dla atrybutu.
-
Parametry:
'Name'
– bazodanowa nazwa atrybutu, tj. pozbawiona prefiksu nazwa kolumny w bazie danych przechowująca atrybut. -
Przykład użycia:
ScanQrValue('AttDecimal1')
ScanQrValue('AttChoose1Glob')
ScanSubelementQrValue(ID, 'Name', currentRowNumberVariable)
– iniciuje skanowanie kodu QR zdefiniowanego dla kolumny Listy pozycji we wskazanym wierszu.
-
Parametry:
ID
– identyfikator Listy pozycji.
'Name'
– bazodanowa nazwa kolumny Listy pozycji, tj. pozbawiona prefiksu nazwa kolumny w bazie danych przechowująca kolumnę Listy pozycji.
currentRowNumberVariable
– numer wiersza Listy pozycji (począwszy od 1). -
Przykład użycia:
ScanSubelementQrValue(4092, 'DET_Value1', 3)
OCR
toggleVerificationAttributeByDbName(Name)
dla obiektu verificationState
– przełącza stan widoczności atrybutów w trybie weryfikacji OCR
-
Parametry:
Name
– bazodanowa nazwa kolumny w bazie danych -
Przykład użycia:
verificationState.toggleVerificationAttributeByDbName('WFD_AttDateTime1')
Dodatkowe informacje na temat zastosowania JavaScript w WEBCON BPS dostępne są w artykułach:
- Reguły Formularza – Nowe spojrzenie na JavaScript
- Podstawowe funkcje JavaScript w atrybutach HTML
- Używanie JavaScript w BPS
na naszym blogu technicznym.