Reguły formularza – Mark required/Mark not required

Facebooktwitterpinterestlinkedinmail
Dotyczy wersji 2021.1.x i powyżej, autor: Dawid Golonka

 

Introduction

W wersji 2021.1.4.36 systemu Webcon BPS pojawiły się nowe funkcje wbudowane, służące do sterowania wymagalnością pól na formularzu. Funkcje „MARK REQUIRED” oraz „MARK NOT REQUIRED”, bo o nich mowa, w znaczącym stopniu ułatwiają konfigurację formularza w zakresie dynamicznego ustawiania pól obowiązkowych do uzupełnienia. W artykule omówiony został sposób działania nowych funkcji, a także zestawienie z dotychczasowym sposobem konfigurowania analogicznej funkcjonalności.

Przypadek biznesowy

Jedną z częściej wykorzystywanych możliwości systemu Webcon BPS, w obrębie tworzonych formularzy użytkowników, jest ustawianie wymagalności konkretnych atrybutów (bądź kolumn list pozycji), w zależności od zmian wartości dokonywanych na innych polach. W dotychczasowych wersjach systemu uzyskanie takiego efektu wymagało od developera wykonania czynności konfiguracyjnych w kilku miejscach systemu. W celu opisu nowych funkcji oraz zaprezentowania różnic w odniesieniu do dotychczasowych rozwiązań, stworzony został dedykowany obieg, służący do uzyskania akceptacji wniosków dotyczących zakupów środków trwałych.

 

Rysunek 1. Schemat obiegu

 

Formularz, na którym zaprezentowane zostaną rezultaty działania funkcji wygląda następująco:

 

Rysunek 2. Formularz utworzonego obiegu

 

Na formularzu uzupełniane są podstawowe dane dotyczące nowego zakupu. Znajdują się tu informacje o zamawiającym, o zamówieniu, a także lista wyposażenia, które to zamówienie obejmuje. Całkowita wartość zamówienia, przenosi się automatycznie z listy pozycji do pola „Łączna kwota zamówienia” na formularzu.

Z biznesowego puntu widzenia istotne są tutaj dwa warunki. W sytuacji, gdy kwota łączna zamówienia przekroczy limit kwoty dla danego pracownika na jego stanowisku, pole „Uzasadnienie zapotrzebowania” staje się obligatoryjne do uzupełnienia. W liście pozycji z elementami wyposażenia, w sytuacji, gdy jako kategoria zostanie wybrany „Sprzęt IT”, wymagane jest dodanie załącznika ze zgodą kierownika działu do kolumny „Zgoda kierownika działu”.

Uzupełniony formularz prezentuje się następująco:

 

Rysunek 3. Uzupełniony formularz. Dynamicznie zmieniła się wymagalność niektórych pól

 

Jak widać, dla dwóch ostatnich pozycji z listy, wymagane było dodanie zgody kierownika (czerwona kropka w kolumnie) – oba te elementy dotyczą kategorii „Sprzęt IT”. Łączna kwota zamówienia przekroczyła limit dla osoby wnioskującej, w związku z tym obowiązkowe stało się uzupełnienie pola z uzasadnieniem zakupu.

Konfiguracja

Nowy sposób

Aby funkcje “MARK REQUIRED” oraz „MARK NOT REQUIRED” zadziałały, na polach i kolumnach, w których zmieniana będzie wymagalność należy ustawić matrycę atrybutów w trybie „Widoczny”. Ustawienie pola lub kolumny jako wymagane, już na etapie konfiguracji matrycy spowoduje, że opisywane funkcje nie będą miały na nie wpływu.

 

Rysunek 4. Ustawienie matrycy w panelu z polem "Uzasadnienie zapotrzebowania"

 

Rysunek 5. Ustawienie matrycy w panelu z listą pozycji, gdzie znajduje się kolumna "Zgoda kierownika działu"

 

Jak zostało to już wcześniej opisane, łączna cena zamówienia z listy pozycji przenosi się do pola „Łączna kwota zamówienia”. Tak więc to na zmianę wartości w tym polu zostanie wywołana reguła formularza sterująca wymagalnością atrybutu z uzasadnieniem. W regule wykorzystane zostały nowe funkcje. W momencie przekroczenia limitu kwoty dla pracownika, pole z uzasadnieniem staje się wymagane („MARK REQUIRED”), w przeciwnym wypadku wymagalność jest znoszona („MARK NOT REQUIRED”). Konfiguracja funkcji jest prosta, jedynym parametrem jaki należy podać to atrybut, którego wymagalność zmieniamy. Jako że poniższa reguła odnosi się również do pola z limitem, zostanie ona wykonana także na zmianę wartości tego pola.

 

Rysunek 6. Reguła formularza wykorzystująca nowe funkcje

 

Ważne! Funkcja „MARK NOT REQUIRED” działa tylko na atrybuty ustawione wcześniej jako wymagane funkcją „MARK REQUIRED”. Nie działa na atrybuty ustawione jako wymagane za pomocą matrycy atrybutów i reguł biznesowych wykonywanych w zakładce „Edytowalność i wymagalność”.

Podobnie sytuacja wygląda przy ustawianiu wymagalności na kolumnach listy pozycji. W naszym przypadku biznesowym, w momencie wybrania kategorii „Sprzęt IT” konieczne staje się dodanie załącznika ze zgodą kierownika działu w dedykowanej kolumnie. Reguła formularza odpowiedzialna za wymagalność wykonują się na zmianę wartości w kolumnie „Kategoria”.

 

Rysunek 7. Reguła formularza wykorzystująca nowe funkcje w obrębie listy pozycji

 

Konfiguracja funkcji „MARK REQUIRED” oraz „MARK REQUIRED” w kontekście listy pozycji, ogranicza się do wskazania listy i kolumny wewnątrz niej, której wymagalność ma być ustawiana.

Podobnie jak to miało miejsce w przypadku pracy na atrybutach, tutaj również funkcja „MARK NOT REQUIRED” działa tylko na kolumny ustawione wcześniej jako wymagane funkcją „MARK REQUIRED”. Nie działa na kolumny ustawione jako wymagane za pomocą matrycy atrybutów i reguł biznesowych wykonywanych w zakładce „Uprawnienia” konfiguracji kolumny.

Gdy jedna z funkcji zostanie użyta w regułach formularza uruchamianych po zmianie wartości (opisywany przypadek biznesowy) lub wewnątrz funkcji FOR EACH ROW, jej działanie będzie się odnosić tylko do aktualnego wiersza. Można to zaobserwować na rysunku 3.

Dotychczasowy sposób

Ten podrozdział przedstawia dotychczasowy sposób realizowania wyżej opisanych funkcjonalności systemu. Wykorzystany został ten sam obieg, aby łatwiej można było zauważyć różnice konfiguracyjne.

Najważniejszą z różnic, jest sposób ustawienia matrycy. Pola i kolumny na matrycy, których wymagalność będzie zmieniana zostały ustawione domyślnie jako wymagane.

 

Rysunek 8. Ustawienie matrycy w panelu z polem "Uzasadnienie zapotrzebowania"

 

Rysunek 9. Ustawienie matrycy w panelu z listą pozycji, gdzie znajduje się kolumna "Zgoda kierownika działu"

 

Kolejnym krokiem jest ustawienie reguły ograniczania wymagalności atrybutu „Uzasadnienie zapotrzebowania” w zakładce „Edytowalność i wymagalność”. Poniższa reguła zwraca TRUE, gdy łączna kwota zamówienia przekracza kwotę limitu.

 

Rysunek 10. Konfiguracja reguły ograniczania wymagalności atrybutu „Uzasadnienie zapotrzebowania"

 

Następnie na polach, od których zależeć będzie wymagalność podania uzasadnienia, należy zaznaczyć checkbox „Zmiana wartości powoduje odświeżanie wartości domyślnych”.

 

Rysunek 11. Konfiguracja ogólna atrybutu wpływającego na wymagalność innego pola

 

Rysunek 12. Konfiguracja ogólna atrybutu wpływającego na wymagalność innego pola

 

Przejdźmy teraz do ustawień w liście pozycji. W kolumnie „Zgoda kierownika działu”, której wymagalność będzie zmieniana należy dodać regułę w sekcji „Ograniczenie wymagalności”. Wiersz w kolumnie będzie wymagany, tylko jeśli kategoria to „Sprzęt IT”.

Rysunek 13. Reguła biznesowa sterująca wymagalnością wiersza w kolumnie listy pozycji

 

Po wprowadzeniu wartości do formularza, widzimy, że jego zachowanie jest identyczne – pola ze zgodami w przypadku kategorii „Sprzęt IT”, a także pole z uzasadnieniem stały się wymagane.

 

Rysunek 14. Uzyskany efekt przy konfiguracji formularza dotychczasowym sposobem jest taki sam jak przy korzystaniu z nowych funkcji