Dotyczy wersji 2020.1.3.x autor: Konrad Wojtycza
Wprowadzenie
Artykuł przedstawia zastosowanie akcji "Zmień wartość pola" oraz "Zmień wartość wielu pół" na przykładzie scenariusza biznesowego rozliczenia delegacji.
Akcje zmiany wartości pól w WEBCON BPS pozwalają na aktualizację wartości pojedynczego atrybutu lub wielu atrybutów jednocześnie na podstawie:
- danych zawartych na formularzu,
- dowolnych wartości spoza formularza, dostępnych np. w bazie danych czy w ramach innego procesu WEBCON BPS.
Akcja zmiany wartości może być zdefiniowana tak jak inne akcje, między innymi na ścieżce, po naciśnięciu przycisku, na Timeout.
Akcja „Zmień wartość pola”
Akcja „Zmień wartość pola” została wykorzystana do wyznaczenia kursu waluty, po którym przeliczane będą wydatki delegacyjne. Kurs ostateczny jest składową dwóch wartości – kursu uśrednionego oraz jednostki waluty obcej.
Rys. 1 Konfiguracja akcji „Zmień wartość pola”
„Pole” – możliwe wartości to wszystkie atrybuty powiązane z formularzem wykorzystanym w procesie, a także pola systemowe, takie jak „[Systemowe] Komentarz” i „[Systemowe] ID elementu z obiegu nadrzędnego”.
Wybór „[Systemowe] Komentarz” odblokowuje możliwość wybrania autora komentarza w polu „Autor komentarza” i ustawienie wartości komentarza. Wybranie opcji „[Systemowe] ID elementu z obiegu nadrzędnego” pozwala ustawić wartość WFD_WFDID, czyli element nadrzędny aktualnego elementu i powiązanie go z obecnym elementem.
„Wartość” – definiuje wartość, ustawianą po pomyślnym wykonaniu akcji. W polu tym możemy wykorzystywać wszystkie funkcje i atrybuty dostępne dla reguł biznesowych, a więc możemy m.in. przeprowadzać operacje arytmetyczne, wprowadzać wyrażenia SQL i korzystać z wartości atrybutów dostępnych na formularzu,
„Komunikat błędu” – pole to służy do zdefiniowania komunikatu błędu, wyświetlanego
w przypadku wystąpienia błędu braku wartości. Zaleca się ustawienie dedykowanego komunikatu błędu, gdyż domyślna wartość to „Nie otrzymano wartości”. Ustawienie takiego komunikatu wraz ze wskazaniem na atrybut, który nie otrzymał wartości, umożliwia użytkownikowi identyfikację źródła błędu.
„W przypadku braku wyników” – pole to pozwala na zdefiniowanie zachowania akcji zmiany wartości na wystąpienie błędu braku wartości. Gdy z powodów biznesowych, pobierana wartość może być niedostępna i nie powinno to być traktowane jako błąd, możemy pominąć wyświetlanie komunikatu błędu. W tym celu należy zmienić wartość pola „W przypadku braku wyników” na „Pozwalaj na brak wartości”.
Rys. 2 Wyłączenie komunikatu błędu poprzez wybór wartości „Pozwalaj na brak wartości” w polu ”W przypadku braku wyników”
Akcja „Zmień wartość wielu pól”
Konfiguracja akcji „Zmień wartość wielu pól” dla przykładowego procesu jest widoczna na Rys. 3. Akcja ta jest użyteczna, w przypadku, gdy więcej niż jedna wartość pochodzi z tego samego źródła. Skorzystanie z akcji „Zmień wartość wielu pół” jest wtedy alternatywą dla zdefiniowania wielu akcji „Zmień wartość pola” korzystających z tego samego źródła.
„Źródło danych” – służy do wskazania źródła lub połączenia do źródła danych, z którego pobierane będą wskazane przez akcję wartości. Źródło danych może być zdefiniowane jako dowolne źródło danych dostępne dla obecnej instalacji Webcon BPS. Należy jednak pamiętać, że w przypadku źródła SQL, do pobrania danych będzie służyć zapytanie SQL, a w przypadku innych źródeł – odpowiednio przygotowany filtr. Jeśli zdefiniujemy źródło danych, a nie ustawimy Zapytania SQL/ filtru, to zwrócone zostaną wszystkie kolumny dostępne w źródle danych.
Rys. 3 Konfiguracja akcji ”Zmień wartość wielu pól”
„Zapytanie SQL”/”Filtr” – w tym polu definiowane jest zapytanie SQL bądź filtr.
„Mapowanie atrybutów” – na podstawie zapytania SQL/ filtru, w tej sekcji automatycznie rozpoznawane są wartości, które możemy przyporządkować polom z formularza. Wczytanie kolumn ze źródła danych realizowane jest poprzez przycisk „Pobierz kolumny”, po kliknięciu przycisku, dostępne kolumny zostaną wyświetlone w sekcji „Mapowanie atrybutów”. W celu mapowania, odpowiedniemu polu dostępnemu na formularzu, przyporządkowujemy (w tym samym wierszu) kolumnę wybraną ze źródła danych.
Dla akcji „Zmiana wartości wielu pól” nie jest możliwe ustawienie dedykowanego komunikatu błędu, w przypadku braku jednej z wartości wybranej na podstawie zapytania SQL/ filtru otrzymamy domyślny błąd „Nie otrzymano wartości”. Błąd taki spowodowany może być np. zmianą nazw kolumn zdefiniowanych w konfiguracji akcji.
Domyślny komunikat błędu nie wskazuje wartości, która była niedostępna. Aby tego uniknąć w przypadku akcji „Zmień wartość wielu pól”, możliwe jest dodanie walidacji przed wykonaniem akcji, sprawdzających dostępność każdej z pobieranych przez zapytanie wartości.
Rys. 4 Walidacja sprawdzająca dostępność wartości „Kurs uśredniony” dla wybranej daty
W polu „Wiadomość w przypadku błędu” ustawiona została wiadomość, która w przypadku wystąpienia błędu będzie uzupełniana wartością atrybutu z formularza.
Proces rozliczania delegacji zagranicznych
Zastosowanie wspomnianych akcji zostanie przedstawione na przykładzie prostego procesu rozliczania delegacji zagranicznych, którego schemat został zaprezentowany poniżej (Rys. 5):
Rys. 5 Obieg rozliczania delegacji
W przedstawionym procesie wydatki rejestrowane w walucie obcej przeliczane są na wartość wyrażoną w polskich złotych (PLN), przy użyciu kursu pobranego z tabeli kursów walut synchronizow anej z NBP, na podstawie przedstawionych przez pracownika paragonów.
Akcje zmiany wartości pól zostały zdefiniowane na ścieżce przejścia „Przewalutuj” i zostaną wywołane po wybraniu przez użytkownika tej ścieżki (Rys. 6).
Rys. 6 Akcje zdefiniowane na ścieżce przejścia “Przewalutuj”
Pola ustawiane przez akcję „Zmień wartość wielu pól” na formularzu widocznym na Rys. 7 to:
- „Jednostki waluty obcej” – ilość jednostek waluty obcej podlegających przeliczeniu na PLN,
- „Kurs uśredniony”
Zapytanie pobierające wartości ustawiane przez akcję „Zmień wartość wielu pól” jest widoczna na Rys. 3. Wartość kursu pobierana jest na podstawie pola daty „Dzień poprzedzający dzień rozliczenia delegacji” z tabeli kursów walut.
Pole „Kurs uśredniony/jednostki waluty obcej” uzupełniane jest przy pomocy akcji „Zmień wartość”, której konfiguracja widoczna jest na Rys. 1. Wartość tego pola wyznaczana jest jako iloraz pól „Kurs uśredniony” oraz „jednostki waluty obcej”, ustawionych wcześniej przez akcję „Zmień wartość wielu pól”.
Ostatecznie, na podstawie tego pola kwota w walucie obcej przeliczana jest na kwotę wyrażoną w polskich złotych.
Rys. 7 Formularz procesu rozliczenia delegacji
Podsumowanie
Akcje zmiany wartości pól opisane w niniejszym artykule to jedne z najczęściej wykorzystywanych akcji w WEBCON BPS. Warto znać różnicę pomiędzy konfiguracją akcji zmiany wartości pojedynczego pola a konfiguracja zmiany wartości wielu pól, tak aby stosować je efektywnie w zależności od wymagań wobec procesu.