Funkcje JavaScript w atrybutach HTML – część 3

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