Akcja „Zmiana wartości listy pozycji”

Facebooktwitterpinterestlinkedinmail
Dotyczy wersji 2021.1.x i powyżej, autor: Konrad Wojtycza

 

Wprowadzenie

W WEBCON BPS listy pozycji to atrybuty szczególnego rodzaju, które pozwalają na przechowywanie wielu wierszy informacji zorganizowanych w kolumny. W praktyce biznesowej zdarza się potrzeba, aby lista pozycji była aktualizowana na podstawie wartości z innych elementów (nadrzędnych/ podrzędnych), bądź aby była aktualizowana automatycznie, a użytkownik nie miał możliwości jej edycji – w realizacji takich scenariuszy pomocna jest akcja „Zmiana wartości listy pozycji”.

Działanie akcji „Zmiana wartości listy pozycji” zostanie zaprezentowane na przykładzie krótkiego obiegu księgowego akceptacji faktur (Rys. 1).

Zrzut ekranu 1. Obieg Księgowość

 

Akcja „Zmiana wartości listy pozycji” może działać w trzech trybach:

  • Dodanie nowych wartości – pozwala uzupełnić już istniejącą listę pozycji o dodatkowe wiersze.
  • Aktualizacja wartości – pozwala zmienić wartości każdego z wierszy listy pozycji w wybranych kolumnach. Jeśli wiersz z danym kluczem nie został znaleziony, zostanie dodany jako nowy wiersz.
  • Zastąp wartości – wyczyszczenie wszystkich wierszy listy pozycji i uzupełnienie tej listy nowymi wierszami z podanymi wartościami w wybranych kolumnach.

W kolejnym rozdziale zostanie opisane działanie i konfiguracja poszczególnych trybów działania akcji.

 

Konfiguracja

Akcja „Zmiana wartości listy pozycji” przeprowadzona będzie na listach pozycji „Rozbicie analityczne” (Rys. 2) oraz „Historia akceptacji” (Rys. 3) po przejściu wybranymi ścieżkami.

Zrzut ekranu 2. Lista pozycji "Rozbicie analityczne"

 

Zrzut ekranu 3.  Lista pozycji „Historia akceptacji”

 

a) Tryb Dodanie nowych wartości

Akcja „Zmiany wartości listy pozycji” w trybie dodania nowych wartości dodana została na kroku Approval (Rys. 1), na ścieżce Accept – akcja dodaje informację o zaakceptowaniu linii rozbicia analitycznego, a na ścieżce Reject – akcja dodaje informację o odrzuceniu linii rozbicia analitycznego.

Zrzut ekranu 4. Krok Approval i widniejące na nim akcje

 

W przypadku konfiguracji trybu dodanie nowych wartości (Rys. 5):

  • w polu Rodzaj zmiany wskazana powinna być wartość „Dodaj nowe wartości”
  • w polu wartość unikalna wskazać powinniśmy wartość unikalna identyfikującą wiersz listy pozycji, według definicji listy pozycji jest to kolumna DET_ID, taka kolumnę też zaleca się wskazać w tym polu.
  • w polu Źródło danych najczęściej wskazywane jest połączenie do aktualnej bazy danych.
  • w polu Zapytanie SQL zapisane powinny być wartości przekazywane do listy pozycji, ze wskazaniem na kolumnę listy pozycji, do której wartości powinny być przekazane, w postaci:select ‘Wartość’ as [Nazwa kolumny w bazie danych],
    ‘Wartość2’ as [Nazwa kolumny w bazie danych2],

‘Wartość3’ as [Nazwa kolumny w bazie danych3]

  • w sekcji ‘Mapowanie wartości unikalnej’ wskazać należy wartość z zapytania SQL, która powinna być traktowana jako unikalna, a także wybrać taka wartość na liście pozycji.
  • w sekcji ‘Mapowanie kolumn’ wypełnić należy mapowanie wartości z zapytania SQL z kolumnami listy pozycji.

Wartości mogą zostać wskazane przy pomocy edytora wyrażeń. W prezentowanym przykładzie, wartość DET_ID przekazywana jest jako NULL, aby umożliwić autoinkrementację wartości kolumny DET_ID i dodanie wiersza jako ostatniego wiersza na liście pozycji.
Do pozostałych kolumn przekazywane są wartości nazwy aktualnego użytkownika, bieżącej daty, informacji ‘Zaakceptowane’ a także tekstu ostatniego komentarza. Wartości przekazywane do listy pozycji mogą być generowane dynamicznie na podstawie wartości z formularza lub wpisane statycznie do wyrażenia SQL.

Nowy wiersz zostanie dodany do listy pozycji „Historia akceptacji” po przejściu ścieżkami Accept lub Reject.

Zrzut ekranu 5. Konfiguracja dodania wartości do listy pozycji „Historia akceptacji"

 

b) Tryb Aktualizacja wartości

W trybie aktualizacji listy pozycji w zapytaniu SQL wskazujemy wiersz(e) listy pozycji, które powinny zostać uaktualnione. Podobnie jak w przypadku trybu dodaj nowe wartości, wskazać powinniśmy kolumnę przechowywująca wartość unikalna listy pozycji – DET_ID, w przypadku poniższego zapytania jest to wskazanie na tę sama kolumnę. W przedstawionym przykładzie, zaktualizowana zostanie wartość kolumny Approved, w wierszu, którego akceptantem jest aktualny użytkownik.

Zrzut ekranu 6. Konfiguracja dodania wartości do listy pozycji „Rozbicie analityczne"

 

Efekt działania akcji po przejściu ścieżką Accept widoczny jest na Rys. 2.

c) Tryb Zastąp wartości

Konfiguracja trybu zastąp wartości jest analogiczna do poprzednich trybów akcji „Zmiana wartości listy pozycji”, istotne jest działanie tego trybu – pozwala on na całkowite zastąpienie wartości obecnych na liście pozycji wartościami wskazanymi w zapytaniu SQL. Oznacza to, że korzystając z tego trybu możemy osiągnąć efekt wyczyszczenia listy pozycji z wszystkich wartości – tak jak na przykładzie na Rys. 8.

Zrzut ekranu 7. Konfiguracja zastąpienia wartości na liście pozycji „aRozbicie analityczne"

 

Przedstawione zapytanie (Rys. 7) zwracałoby wartości jedynie w przypadku spełnienia warunku 1 = 2, co oczywiście jest założeniem sprzecznym – założenie to nigdy nie zostanie spełnione, a więc zapytanie nigdy nie zwróci wartości. W rezultacie, wszystkie wiersze znajdujące się na liście pozycji Rozbicie analityczne zostaną wyczyszczone (Rys. 8).  Oczywiście, jeśli zapytanie zwracałoby wartości, w przypadku użycia trybu zastąp wartości znalazłyby się one na liście pozycji.

Zrzut ekranu 8. Lista pozycji „Rozbicie analityczne" po działaniu trybu zastąp wartości

 

Podsumowanie

Akcja „Zmiana wartości listy pozycji” to przydatne narzędzie pozwalające na edycje wartości listy pozycji. Dostępne trzy tryby działania tej akcji udostępniają pełnię możliwości automatycznej i konfigurowalnej modyfikacji listy pozycji, bez ingerencji użytkownika wypełniającego formularz.