Przejdź do głównej zawartości
Wersja: 2026 R2

JavaScript w WEBCON

WEBCON 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 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​

Edytor JavaScript

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 WEBCON​

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.80”.

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 JavaScript API dla formularzy WEBCON umożliwiających pełną obsługę załączników, dodanych do elementu obiegu, w rozszerzeniach typu Form Field Extension.

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”.

AddAttachment(file, 'Category', 'Description') – umożliwia dodanie załącznika do elementu. Dodawanie załącznika działa wyłącznie w trybie edycji i odbywa się poprzez wysyłanie go we fragmentach (chunk upload) i przy uwzględnieniu uprawnień do danego załącznika. Proces można przerwać za pomocą abortController. Załącznika nie można dodać, jeżeli w formularzu nie ma kontrolki załączników. W przypadku ukrycia kontrolki poprzez JS API nadal można dodawać załączniki.

  • Parametry:
    file – nazwa dodawanego załącznika
    'Category' – kategoria załącznika
    'Description' – opis załącznika

  • Przykład użycia:
    AddAttachment(file, 'Category name', 'My description')

GetAllAttachments() – zwraca listę wszystkich lokalnych załączników wraz z kolekcją metadanych dla każdego z nich: [{ id, name, category, author, dateAdded, version }]

  • Parametry:
    brak

  • Przykład użycia:
    GetAllAttachments()

EditAttachmentMetadata(id, 'Name', 'Category', 'Description') – umożliwia zmianę metadanych już istniejącego załącznika, działa wyłącznie w trybie edycji i uwzględnia uprawnienia do edycji załączników. Edycja nadpisuje nazwę, kategorię i opis, jeżeli jednak wartość parametrów wynosi undefined lub null, wtedy nie zostanie nadpisana.

  • Parametry:
    id – identyfikator istniejącego załącznika
    'Name' – nowa nazwa pliku
    'Category' – nowa kategoria
    'Description' – nowy opis załącznika

  • Przykład użycia:
    EditAttachmentMetadata(1485, 'newFileName.txt', 'Category name', 'My new description')

HideAttachments() – ukrywa kontrolkę załączników, umożliwiając w ten sposób sterowanie widocznością sekcji z załącznikami. Widoczność może być uzależniona od użytkownika wykonującego operację lub wartości innego pola na formularzu. Ukrycie kontrolki nie ma wpływu na możliwość wykonywania operacji na załącznikach z poziomu Listy pozycji oraz JS API.

ShowAttachments() – pokazuje kontrolkę załączników, umożliwiając w ten sposób sterowanie widocznością sekcji z załącznikami. Widoczność może być uzależniona od użytkownika wykonującego operację lub wartości innego pola na formularzu.

OverwriteAttachment(id, file) – nadpisuje zawartość istniejącego załącznika nowym plikiem. Stanowi to sposób na zastąpienie obecnego pliku oraz aktualizację metadanych. Nadpisywanie zawartości załącznika działa wyłącznie w trybie edycji i odbywa się poprzez wysyłanie go we fragmentach (chunk upload) i przy uwzględnieniu uprawnień do danego załącznika. Proces można przerwać za pomocą abortController. Załącznika nie można nadpisać, jeżeli w formularzu nie ma kontrolki załączników. W przypadku ukrycia kontrolki poprzez JS API nadal można nadpisywać załączniki.

  • Parametry:
    id – identyfikator istniejącego załącznika, który ma być nadpisany
    file – nowy plik, który zastąpi dotychczasowy

  • Przykład użycia:
    OverwriteAttachment(1485, file)

DeleteAttachment(Id) – usuwa załącznik z formularza WEBCON. Działa w trybie edycji i uwzględnia uprawnienia do usuwania załączników.

  • Parametr:
    Id – identyfikator załącznika, który ma zostać usunięty

  • Przykład użycia:
    DeleteAttachment(1485)

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

informacja

Dodatkowe informacje na temat zastosowania JavaScript w WEBCON dostępne są w artykułach: