Dotyczy wersji: 2020.1.x i wyższych; autor: Adrian Baszak
Konfiguracja ustawiania wartości domyślnej
- Odświeżanie wartości domyślnych
- Konfiguracja wartości domyślnej w polach wyboru
- Ustawienie wartości domyślnej na wybranym kroku
- Wykorzystanie reguł formularza
- Ustawianie wartości domyślnej przez pole wyboru
- Dobre praktyki – wydajność i utrzymanie
Ustawianie wartości domyślnych atrybutów jest jedną z podstawowych czynności jakie możemy wykonać aby ułatwić i przyśpieszyć pracę z formularzami w obiegach WEBCON BPS. W poniższym artykule opisano różne sposoby konfiguracji uzupełniania wartości domyślnej oraz dobre praktyki z tym związane.
Konfiguracja ustawiania wartości domyślnej
W BPS Designer Studio opcje związane z ustawianiem wartości domyślnej dostępne są w konfiguracji atrybutu w zakładce „Ogólne”.
Rys. 1. Konfiguracja ustawień wartości domyślnej
Dla każdego typu atrybutu, za wyjątkiem wykresów oraz tabel i wierszy danych, możemy zdefiniować wartość domyślną. W konfiguracji można używać wartości innych atrybutów formularza, reguł biznesowych, zmiennych kontekstowych, stałych oraz źródeł danych. Ustawienie w ten sposób wartości domyślnej atrybutu nastąpi:
- w pierwszym kroku, na którym jest on widoczny (dotyczy to również atrybutów technicznych)
- jedynie w przypadku, gdy atrybut nie posiadał wcześniej żadnej wartości.
- zawsze w momencie ładowania formularza w trybie edycji (wartość domyślna ustawiana jest niezależnie od tego, czy atrybut jest edytowalny czy tylko do odczytu).
- po zmianie wartości atrybutu, jeśli atrybuty zostały odpowiednio skonfigurowany (opis w kolejnym rozdziale).
W dalszej części artykułu opisano również w jaki sposób korzystając z reguł formularza oraz pól wyboru można ustawić wartość domyślną.
Odświeżanie wartości domyślnych
Zdarzają się przypadki, w których wartość domyślna atrybutu zależy od wartości innego atrybutu i oba są uzupełniane są na tym samym kroku. W takiej sytuacji, wartość domyślna nie może zostać ustawiona przy ładowaniu formularza. Aby wartość domyślna została ustawiona dopiero po uzupełnieniu innego atrybutu należy:
a) zaznaczyć opcje „Ustaw podczas odświeżania wartości domyślnych” – spowoduje to ustawienie wartości domyślnej w przypadku, gdy inny atrybut formularza wymusi odświeżenie wartości domyślnych.
b) na atrybucie zależnym zaznaczyć „Zmiana wartości powoduje odświeżenie wartości domyślnych” – gdy opcja jest włączona, po zmianie wartości atrybutu nastąpi:
- Ponowne uruchomienie wszystkich reguł zdefiniowanych jako "Ograniczenie wymagalności".
- Ponowne przeliczenie wartości domyślnych dla wszystkich atrybutów z ustawioną konfiguracją "Ustaw podczas odświeżania wartości domyślnych".
Przykładową konfiguracja zostanie przedstawiono w kolejnym rozdziale.
Konfiguracja wartości domyślnej w polach wyboru
Jeżeli to możliwe, wartość domyślna w polach wyboru powinna być ustawiana w formacie ID#Name, gdzie „ID” i „Name” są zgodne z konfiguracją pola wyboru. Taki format sprawdza się najlepiej w przypadku prostych słowników (np. pola wyboru waluty albo numeru konta bankowego). Tak ustawiona wartość nie jest sprawdzana w źródle danych. Z jednej strony wpływa to pozytywnie na szybkość ładowania formularza. Z drugiej, pozwala na przypadkowe ustawienie wartości, która nie należy do źródła danych. Ponadto, jeśli pole wyboru ustawia inne pola, źródło danych zostanie przeszukane w celu pobrania odpowiednich wartości.
Dopuszczalne jest ustawienie wartości przez podanie ID, które jednoznacznie identyfikuje element ze źródła danych. Aby pole wyboru zostało prawidłowo uzupełnione, podana wartość musi zostać znaleziona w jednej z kolumn źródła danych (tych dla których w konfiguracji zaawansowanej atrybutu zaznaczono wyszukiwanie).
Rys. 2. Konfiguracja wyszukiwania w polu wyboru. Jeśli wartość domyślna nie będzie podana w formacie ID#Name, wartość zostanie wyszukana w kolumnach WFD_ID, Name oraz externalID
To podejście, w przeciwieństwie do poprzedniego, zawsze spowoduje przeszukanie źródła danych. Im więcej kolumn będzie przeszukiwanych tym większy będzie wpływ na czas ładowania formularza. Stosowanie samego identyfikatora ma jednak tę zaletę, że umożliwia podanie wartości innej niż ID pola wyboru – np. NIP lub ID kontrahenta z systemu zewnętrznego. Jest również niewrażliwe na zmiany nazwy wyświetlanej lub format nazwy wymagany dla pól obsługujących wielojęzyczne nazwy.
Wartość domyślna nigdy nie powinna być ustawiana przez podanie nazwy wyświetlanej a tym bardziej jej fragmentu. Może to skutkować nieodnalezieniem wartości w źródle danych lub dopasowanie nieprawidłowej, jeśli przekazana wartość pasuje do więcej niż jednego rekordu w słowniku.
Rys. 3. Przykład poprawnej i niepoprawnej konfiguracji wartości domyślnej pola wyboru
Ustawienie wartości domyślnej na wybranym kroku
Jeśli wartość domyślna ma zostać podpowiedziana dopiero na wybranym kroku (zamiast na pierwszym, na którym atrybut będzie widoczny) należy dodać odpowiedni warunek w regule (zalecane ze względu na łatwość konfiguracji i utrzymania) lub zerwać dziedziczenie konfiguracji atrybutu w ustawieniach formularza na wybranym kroku.
Rys. 4. Konfiguracja wartości domyślnej ustawianej na wybranym kroku z użyciem reguły IF
Rys.5. Konfiguracja wartości domyślnej ustawianej na wybranym kroku przez zerwanie dziedziczenia konfiguracji atrybutu.
Wykorzystanie reguł formularza
Do ustawienia wartości domyślnej można wykorzystać także reguły formularza konfigurowane na zmianę wartości atrybutów. To rozwiązanie jest przydane w sytuacjach, kiedy niektóre pola formularza są dynamicznie ukrywane lub pokazywane, lub wtedy, gdy wartość domyślna ma odświeżać się przy każdej zmianie wartości w atrybucie.
Ustawianie wartości domyślnej przez pole wyboru
Wartość domyślna atrybutu może być także ustawiana po wyborze wartości w polu wyboru. Wartości z wybranych kolumn źródła danych można zmapować na atrybuty formularza.
Dobre praktyki – wydajność i utrzymanie
Aby zapewnić optymalne działanie formularza (m.in. krótki czas ładowania strony) oraz ułatwić utrzymanie poprawności konfiguracji należy:
a) minimalizować liczbę atrybutów, których zmiana wartości powoduje odświeżanie wartości domyślnych.
b) minimalizować liczbę atrybutów, których wartość domyślna jest ustawiana po zmianie wartości innych atrybutów.
c) minimalizować liczbę wartości domyślnych pobieranych ze źródeł danych.
- Jeśli kilka wartości domyślnych pochodzi z tego samego źródła, rozwiązaniem może być przygotowanie pola wyboru, które uzupełni powiązane atrybuty
d) w niektórych przypadkach zastąpić ustawianie wartości domyślnych akcjami wykonywanymi na przejściu ścieżką, jeśli:
- wartości pobierane są z wykorzystaniem usługi sieciowych (web serwisów)
- wartości domyślne nie są konieczne z punktu widzenia osoby, która aktualnie wykonuje zadanie (np. mają znaczenie dopiero na kolejnym kroku)
- wartości domyślne wymagają znacznej liczby operacji i są ze sobą powiązane (np. przeliczanie diet w delegacjach)
W tym rozdziale opisano różne sposoby ustawiania wartości domyślnej na przykładzie prostego formularza faktury kosztowej.
Rys. 6. Przykład formularza z wartościami domyślnymi
- Created by i Created date – te atrybuty ustawiane są wartościami domyślnymi. Created by to aktualnie zalogowana osoba a Created date to bieżąca data. Wartość domyślna uzupełniana jest, mimo że pola są tylko do odczytu.
Rys. 7. Konfiguracja wartości domyślnej atrybutów "Created by" i "Created date".
- Invoice type – ten atrybut jest polem wyboru, z możliwością wprowadzenie wielojęzycznych nazw. Wartość domyślną ustawiamy przez podanie ID aby tłumaczenia nazwy zostały prawidłowo zapisane. ID zapisane jest w stałej procesowej, która umożliwia podanie różnych wartości, zależnych od środowiska DEV-TEST-PROD, oraz użycie jej w innych miejscach konfiguracji procesu.
Rys. 8. Wartość domyślna pola "Invoice type"
- Invoice number – ten atrybut nie ma podanej wartości domyślnej. Uzupełniany jest ręcznie, przez osobę rejestrującą.
- Invoice date – ten atrybut nie ma podanej wartości domyślnej. Uzupełniany jest ręcznie, przez osobę rejestrującą. Wpływa jednak na ustawienie wartości domyślnej w atrybucie Payment date, dlatego zaznaczona jest opcja „Zmiana wartości powoduje odświeżenie wartości domyślnych”.
Rys. 9. Konfiguracja odświeżania wartości domyślnych przez zmianę wartości w atrybucie „Invoice date”
- Currency – ten atrybut jest polem wyboru, którego wartość domyślna zależy od powiązanej spółki. Podpowiedziana wartość może zostać zmieniona przez osobę rejestrującą. Wartość domyślną dla tego pola przekazujemy w formacie ID#Nazwa
Rys. 10. Wartość domyślna w atrybucie "Currency", która zależy od powiązanej spółki
- Net amount i Gross amount – te atrybuty nie mają podanej wartości domyślnej. Uzupełniane są ręcznie, przez osobę rejestrującą.
- Payment date – to pole daty, którego wartość domyślna, to data faktury (Invoice date) + 30dni. Podpowiedziana wartość może zostać zmieniona przez osobę rejestrującą. W momencie ładowania formularza, atrybut Invoice date jest pusty, dlatego wartość domyślna Payment date musi być ustawiana przy odświeżaniu wartości domyślnych.
Rys. 11. Konfiguracja wartości domyślnej pola "Payment date" ustawianej przy odświeżaniu wartości domyślnych
Należy pamiętać, że wartość domyślna zostanie uzupełniona tylko, jeśli Payment date będzie puste. Aby wartość domyślna była uzupełniana po każdej zmianie wartości Invoice date, zamiast powyższej konfiguracji należy dodać regułę formularza na zmianę wartości atrybutu.
Rys. 12. Konfiguracja ustawiania wartości domyślnej pola "Payment date" przez regułę formularza na zmienę wartości pola "Invoice date"
- Supplier Name – ten atrybut nie ma podanej wartości domyślnej. Uzupełniany jest ręcznie, przez osobę rejestrującą. Wpływa jednak na ustawienie wartości domyślnej w atrybucie Bank account number, dlatego zaznaczona jest opcja „Zmiana wartości powoduje odświeżenie wartości domyślnych”. Ponadto, po wybraniu wartości, uzupełniane są pola ze szczegółowymi danymi kontrahenta.
Rys. 13. Konfiguracja zaawansowana pola "Supplier Name". Wartości z kolumn źródła danych ("Source column") zostaną wpisane do odpowiednich atrybutów formularza ("Target field")
Aby wartość domyślna w polu Bank account number zmieniała się po wybraniu kontrahenta, na zmianę wartości w polu Supplier Name skonfigurowana została reguła formularza, która usunie obecną wartość z pola Bank account number.
Rys. 14. Usuwanie wartości z pola "Bank account number" aby jego wartość domyślna została ponownie ustawiona po zmianie wyboru w polu "Supplier Name"
- Supplier ID, Street, City, State, Zip Code – te atrybuty nie mają podanej wartości domyślnej. Uzupełniane są automatycznie, po wyborze wartości w polu Supplier Name i nie mogą zostać zmienione przez osobę rejestrującą.
- Bank account number – wartość domyślna tego pola wyboru zależy od wartości w polu Supplier Name, dlatego zaznaczona jest opcja odświeżania wartości domyślnych. Ponadto, wartość domyślna ustawiana jest w formacie ID#Nazwa, ponieważ jest pobierana z tego samego słownika, który jest źródłem danych pola wyboru.
Rys. 15. Konfiguracja ustawiania wartości domyślnej w polu "Bank account number". Wartość domyślna pobierana jest ze słownika, który jest źródłem danych tego pola wyboru
Na powyższych przykładach widać, że istnieje wiele sposobów na ustawianie wartości domyślnej atrybutu i każdy z nich sprawdza się w różnych przypadkach. Chcąc tworzyć użyteczne formularze należy jednak odpowiednio z nich korzystać, pamiętając o tym, żeby formularz był jak najprostszy zarówno z punktu widzenia użytkownika końcowego jak i od strony konfiguracji.