Dotyczy wersji 2020.1.3.x autor: Agnieszka Burda
Wstęp
W poniższym artykule omówiona zostanie część funkcji JavaScript, jakie są dostępne w konfiguracji kontrolki HTML. Opisane funkcjonalności są rozszerzeniem artykułu Atrybut typu HTML, który dostępny jest pod linkiem: https://kb.webcon.pl/atrybut-typu-html/
Funkcje globalne
W oknie konfiguracji kontrolki HTML można znaleźć kilka gotowych funkcji, dotyczących ogólnych informacji o aplikacji i procesie.
Rys. 1 – Funkcje globalne w kontrolce HTML
Znajdziemy wśród nich takie opcje jak:
- Aplikacja – ID lub Nazwa
- Proces – ID lub Nazwa
- Obieg – ID lub Nazwa
- Typ formularza – ID lub Nazwa
- Aktualny krok – ID lub Nazwa
- Spółka – ID lub Nazwa
- Aktualny użytkownik – ID lub Nazwa
- ID lub Sygnatura aktualnego dokumentu
- ID lub Sygnatura nadrzędnego dokumentu
- Czy tryb admina jest aktywny – False lub True
- Czy mam uprawnienia do edycji – False lub True
- Czy tryb edycji jest aktywny? – False lub True
- Czy jestem na urządzeniu mobilnym? – False lub True
Mogą zostać one wykorzystane na różne sposoby, np. jako warunek wykonania funkcji lub jako zmiana wartości w polu.
W poniższym przykładzie stworzono kontrolkę Check current step.
Rys. 2 – Kontrolka Check current step
Po kliknięciu w polu Current step pojawia się nazwa kroku, na którym aktualnie znajduje się formularz.
Rys. 3 – Działanie kontrolki Check current step
W konfiguracji kontrolki wykorzystano funkcję SetValue, za pomocą której, atrybut Current step otrzymał wartość GetPairName(G_WFSTEP).
Rysunek 4 – Konfiguracja kontrolki
Funkcje systemowe
Istnieje także możliwość wykorzystania funkcji systemowej, która:
- Waliduje i konwertuje na format float
- Waliduje float i zwraca string w przecinkach
- Zmienia napis na datę
- Zmienia obiekt date na tekst w formacie ‘pl’ lub ‘en’
- Zmienia obiekt date na tekst w formacie [yyyy-mm-dd]
- Odblokowuje widok
- Blokuje widok
a) Walidacja i konwersja na format float
Pierwsza z funkcji służy do walidowania wartości i konwertowania jej na format float. W prezentowanym przykładzie utworzono kontrolkę Convert string oraz dwa atrybuty: Count of employees (string) i Employees (float).
Po kliknięciu na przycisk z pola Count of employees zostanie przepisana wartość do pola Employees.
Rys. 5 – Działanie kontrolki Convert string
Jak widać na powyższym przykładzie funkcja dodatkowo wycina białe znaki oraz zamienia przecinek na kropkę.
W konfiguracji kontrolki wykorzystano funkcję SetValue która w polu Employees (float) ustawia wartość pola Count of emloyees (string). Do konwersji danych wykorzystano funkcję ConvertStringToFloat.
Rys. 6 – Konfiguracja Convert string
b) Walidacja float i zwrócenie string w przecinkach
Kolejna z funkcji waliduje wartość zapisaną w formacie float, a następnie zwraca ją jako string. Części całkowita i ułamkowa liczby rozdzielone są przecinkiem.
W prezentowanym przykładzie utworzono kontrolkę Convert float oraz atrybuty: Count of employees (float) i Employees (string).
Po kliknięciu kontrolki liczba zapisana w polu Count of employees zostanie przepisana do pola tekstowego Employees z dwoma miejscami po przecinku.
Rys. 7 – Działanie kontrolki Convert float
W konfiguracji kontrolki wykorzystano funkcję SetValue która w polu Employees (float) ustawia wartość pola Count of emloyees(string). Do konwersji danych wykorzystano funkcję ConvertFloatToString z dwoma parametrami. Pierwszy z nich to atrybut liczbowy, natomiast drugi to liczba miejsc po przecinku. W tym przypadku liczba posiada 2 miejsca po przecinku.
Rys.8 – Konfiguracja kontrolki Convert float
c) Zmiana napisu na datę
Następna funkcja służy do zmiany napisu/tekstu na zapis w formacie daty. W prezentowanym przykładzie utworzono kontrolkę Convert to Date oraz atrybuty Date (String) i Date.
Po kliknięciu na kontrolkę wartość z pola tekstowego Date zostanie przepisana do pola daty.
Rys. 9 – Działanie kontrolki Convert to Date
W konfiguracji kontrolki wykorzystano funkcję SetValue która w polu Date ustawia wartość pola tekstowego Date (string). Do konwersji danych wykorzystano funkcję StringToDate.
Rys.10 – Konfiguracja kontrolki Convert to Date
d) Zmiana obiektu date na tekst w formacie ‘pl’ lub ‘en’
Zgodnie z nazwą funkcja zmienia atrybut typu data na tekst w formacie pl lub en, w zależności od wybranego parametru. W podanym przykładzie stworzono kontrolkę Date to string, atrybut typu data Date oraz atrybut tekstowy Date text.
Po wciśnięciu przycisku do pola Date text zostanie przepisana wartość z pola Date do pola Date text jako tekst w formacie en.
Rys. 11 – Działanie kontrolki Date to string
W konfiguracji kontrolki wykorzystano funkcję SetValue która w polu Date text ustawia wartość pola Date. Użyta funkcja DateToString przyjmuje dwa parametry. Pierwszy z nich to pole z datą, natomiast drugi to format, w jakim ma zostać zapisana data. Istnieje możliwość wykorzystania dwóch formatów: pl i en.
Rys.12 – Konfiguracja kontrolki Date to string
e) Zmiana obiektu date na tekst w formacie [yyyy-mm-dd]
Funkcja zmienia obiekt typu data na tekst zapisany w formacie yyyy-mm-dd. W przykładzie przygotowano kontrolkę Date to yyyy-mm-dd oraz dwa atrybuty Date i Date text.
Po wciśnięciu kontrolki do pola tekstowego Date text zostanie przepisana wartość z pola Date w formacie yyyy-mm-dd.
Rys.13 – Działanie kontrolki Date to yyyy-mm-dd
W konfiguracji kontrolki wykorzystano funkcję SetValue która w polu Date text ustawia wartość pola Date. Użyta funkcja DateToString przyjmuje tylko jeden parametr – pole z datą.
Funkcje z załącznikami
Ostatnie z gotowych funkcji, które oferuje nam WEBCON BPS dotyczą załączników.
a) Ilość załączników
W podanym przykładzie stworzono kontrolkę, która po kliknięciu wyświetla w polu Count of attachments liczbę dodanych załączników.
Rys. 14 – Kontrolka Count attachments
W konfiguracji kontrolki wykorzystano funkcję SetValue, która przypisuje wartość G_ATTCOUNT do wybranego pola.
Rys.15 – Konfiguracja kontrolki Count attachments
b) Sprawdź czy istnieje załącznik o rozszerzeniu…
Dzięki kontrolkom HTML można w prosty sposób sprawdzić, czy wśród załączników znajduje się plik o podanym rozszerzeniu.
W podanym przykładzie stworzono kontrolkę Check attachments, która weryfikuje, czy dodano plik o dowolnej nazwie, ale z rozszerzeniem .docx.
Jeśli plik .docx nie został dodany jako jeden z załączników, to po kliknięciu kontrolki zostanie wyświetlony komunikat o konieczności dodania takiego pliku.
Rys.16 – Komunikat Add DOCX file
Jeżeli co najmniej jeden dodany plik będzie posiadać rozszerzenie .docx, to po kliknięciu kontrolki wyświetlony zostanie komunikat informujący, że wymagany plik został już dodany
Rysunek 17 – Komunikat DOCX file has been added
Aby kontrolka HTML działała w wyżej przedstawiony sposób, w jej konfiguracji dodano skrypt Javascript. Wykorzystuje on funkcję CheckIfAttExists. Domyślnie funkcja ta wygląda następująco: CheckIfAttExists(‘[.].pdf$’). Jeśli użytkownik chce, aby kontrolka weryfikowała pliki o innym rozszerzeniu, wystarczy zmienić pdf na dowolną inną końcówkę. W prezentowanym przykładzie wyszukiwane są pliki o rozszerzeniu docx.
Rys. 18 – Konfiguracja kontrolki Check attachments
c) Sprawdź czy istnieje załącznik…
Oprócz wyszukiwania załączników o podanym rozszerzeniu istnieje także możliwość wyszukiwania tych o konkretnej nazwie.
W prezentowanym przykładzie stworzono kontrolkę Check attachments, która weryfikuje, czy wśród załączników znajduje się przynajmniej jeden o nazwie Template.docx.
Jeżeli taki załącznik istnieje, to po kliknięciu kontrolki wyświetlony zostanie komunikat informujący, że wymagany plik został już dodany.
Rys. 19 – Komunikat File has been added
W przypadku, gdy taki plik nie istnieje, to po kliknięciu kontrolki pokaże się komunikat, który mówi o tym, że należy dodać wymagany załącznik.
Rysunek 20 – Komunikat Add file
Aby kontrolka HTML działała jak w prezentowanym przykładzie, w jej konfiguracji dodano skrypt Javascript. Dzięki funkcji CheckIfAttExists(‘^Template[.]docx$’) sprawdza on, czy istnieje wymagany załącznik i w zależności od tego wyświetla odpowiedni komunikat. Zaznaczone na czerwono fragmenty funkcji należy zmienić tak, aby określały one nazwę (Template) i rozszerzenie (docx) pliku, który ma być wyszukiwany.
Rysunek 21 – Konfiguracja kontrolki Check attachments
Zakończenie
W konfiguracji kontrolki HTML można znaleźć wiele funkcji dotyczących zarówno globalnych i systemowych elementów procesu, jak i samych załączników. W zależności od tego, co chce się osiągnąć, można je wykorzystywać i konfigurować na różne sposoby. Z tego względu warto wiedzieć jakie możliwości, poza niestandardowym wyglądem, daje nam wykorzystywanie kontrolek HTML.