Dotyczy wersji 2021.1.1 autor: Konrad Wojtycza
Wprowadzenie
W wersji 2021 WEBCON BPS wprowadzono nowe funkcje formularza działające na tekście:
- CONCAT – łączy wartości tekstowe w jeden tekst.
- SPLIT – Rozdziela wskazany tekst na części, zgodnie z podanym separatorem. Separatorem może być dowolny ciąg znaków. Wynikiem działania funkcji jest kolekcja elementów rozdzielonych średnikami ‘;’. Jeśli w podanym tekście nie został znaleziony separator, wynikiem działania funkcji będzie jeden wiersz tekstu.
- INDEX OF – zwraca pozycję pierwszego wystąpienia wskazanego ciągu znaków w przekazanym tekście. Przeszukiwanie tekstu rozpoczyna się od wskazanej pozycji. Pozycja pierwszego znaku tekstu ma wartość 1.
W niniejszym artykule zostanie przedstawiona konfiguracja i sposób działania wyżej wymienionych funkcji na utworzonym w tym celu formularzu.
Konfiguracja funkcji CONCAT
Utworzono 4 atrybuty typu tekstowego. Zawartość atrybutów Text 1, 2, 3 jest łączona poprzez funkcję CONCAT i wyświetlana jako wartość atrybutu Concat(Text 1, 2, 3) (Rys. 1).
Rys. 1 Działanie funkcji CONCAT
W konfiguracji funkcji CONCAT należy podać wartości wejściowe, które zostaną połączone w jedne ciąg znaków. Domyślnie, wartości te są łączone ze sobą bez spacji, dlatego w przedstawionej konfiguracji każdy atrybut Text został rozdzielony stałą procesową zawierającą spację
CONCAT[[Tekst][ Tekst][Tekst][Tekst]]
Rys. 2 Przykładowa konfiguracja reguły formularza CONCAT
Funkcja CONCAT może działać na formularzu dynamicznie, po każdej edycji wartości atrybutów Text 1, 2, 3, bądź statycznie, dopiero po przejściu ścieżką, czy po kliknięciu na przycisk.
W celu uzyskania dynamicznego działania funkcji CONCAT na polach Text 1, 2, 3 w zakładkach Styl i zachowanie dodano regułę ustawiającą wartość pola Concat(Text 1, 2, 3) na zmianę (Rys. 3)
Rys. 3 Reguła ustawiająca wartość pola Concat(Text 1, 2, 3) na zmianę wartości
Konfiguracja funkcji SPLIT
Ciąg znaków utworzony przez funkcję CONCAT w polu Concat(Text 1, 2, 3), został rozdzielony średnikami przy użyciu funkcji SPLIT w polu Split(Concat(Text 1, 2, 3)) (Rys. 4).
Rys. 4 Działanie funkcji SPLIT
W konfiguracji funkcji SPLIT należy podać tekst, który powinien zostać podzielony separatorem w postaci średnika, a także znak, który będzie zastąpiony średnikiem przez funkcje (Rys. 5).
SPLIT[[Tekst][Znak, który zostanie zastąpiony separatorem]]
Rys. 5 Przykładowa konfiguracja funkcji SPLIT
Podobnie jak w przypadku funkcji CONCAT, funkcja SPLIT może działać dynamicznie na formularzu albo statycznie.
Aby umożliwić dynamiczne działanie funkcji SPLIT, na polu zawierającym tekst do rozdzielenia (u góry Concat(Text1,2,3)) w zakładce Styl i zachowanie należy dodać regułę ustawiającą wartość pola, w które wstawiany jest efekt działania funkcji (Rys. 6).
Rys. 6 Reguła czyszcząca wartość pola Split(Concat(Text 1, 2, 3)) na zmianę wartości
W przypadku funkcji SPLIT nie jest możliwa zmiana domyślnego separatora, tj. średnika. Zmianę średnika w tekście będącym wynikiem funkcji SLPIT można uzyskać wykorzystując inną funkcję operującą na tekście – STRING REPLACE (Rys. 7, Rys. 8).
Rys. 7. Przykładowa konfiguracja funkcji SPLIT REPLACE
Rys. 8. Działanie funkcji SPLIT REPLACE
Konfiguracja funkcji INDEX OF
Wyszukiwany ciąg znaków wpisywany jest w atrybucie Searched word. Tekst, w którym wyszukiwany jest wskazany ciąg znaków, został wprowadzony w atrybucie Text. W polu Start at position należy wskazać pozycję startową wyszukiwania, tj. pozycję znaku tekstu, od którego powinno rozpocząć się wyszukiwanie (Rys. 9).
Rys. 9 Działanie funkcji INDEX OF
INDEX OF[[Tekst][Wyszukiwany ciąg znaków][Pozycja startu wyszukiwania]]
Rys. 10 Przykładowa konfiguracja funkcji INDEX OF
Tak jak w przypadku poprzednich funkcji, funkcja INDEX OF może być wywoływana dynamicznie na formularzu, albo po przejściu ścieżką, wybraniu przycisku w menu formularza itp. Konfiguracja dynamicznego i statycznego działania jest analogiczna do konfiguracji dla poprzednich funkcji.