Dotyczy wersji: 2023 R3 i powyżej; autor: Krystyna Gawryał
Wprowadzenie
W WEBCON BPS możliwe jest wykonywanie zautomatyzowanych operacji na wierszach, kolumnach i wartościach Listy pozycji. Dotychczas za te operacje odpowiadała akcja Zmiana wartości listy pozycji, której ostateczne działanie było uwarunkowane trybem, jaki wybrała osoba konfigurująca. Jednak wersja 2023 R3 przyniosła liczne zmiany w tym obszarze – istniejąca akcja została zaktualizowana i pojawiły się dodatkowe akcje powiązane z Listą pozycji.
W niniejszym artykule podjęto próbę usystematyzowania wiedzy na temat dostępnych akcji wykonywanych na Liście pozycji, scharakteryzowania ich funkcji, a także różnic w działaniu w oparciu o praktyczne przykłady.
Wykaz i charakterystyka dostępnych akcji
Grupa akcji powiązanych z Listą pozycji obecnie liczy pięć akcji, których definicje wraz z przykładami zastosowania podano poniżej. Tabela 1. obrazuje zmiany, jakie miały miejsce w ostatnich wersjach WEBCON BPS w tym zakresie.
Tabela 1. Akcje powiązane z Listą pozycji z podziałem na wersje
Wersja WEBCON BPS | Nazwa akcji |
≤ 2023 R2 | Zmiana wartości listy pozycji |
2023 R3 | Dodaj wiersze listy pozycji |
Wyczyść listę pozycji | |
Zastąp wartości listy pozycji | |
Usuń wiersz listy pozycji | |
Aktualizuj wartości listy pozycji |
Wszystkie wymienione akcje są dostępne w grupie Formularz i można je wywoływać:
- Na wejście,
- Na zakończenie,
- Na timeout,
- Na otwarcie w przeglądarce (z wyjątkiem akcji Aktualizuj wartości listy pozycji),
- jako Przycisk w menu,
- Na ścieżce przejścia,
- Na zapis elementu workflow.
Na potrzeby artykułu przygotowano Listę pozycji „List of spare parts”, która zawiera dwie kolumny typu Pojedynczy wiersz tekstu (Serial number, Name), jedną kolumnę typu Pole wyboru (Manufacturer) oraz jedną kolumnę typu Liczba zmiennoprzecinkowa (Price per unit):
Po uzupełnieniu Lista pozycji może wyglądać następująco:
Dla celów prezentacyjnych wszystkie akcje konfigurowano jako wywoływane Przyciskiem w menu o nazwie odpowiadającej nazwie danej akcji.
Dodaj wiersze listy pozycji
Podczas wykonywania akcji do Listy pozycji dodawane są wszystkie wiersze z podanego w konfiguracji Źródła danych bez sprawdzania, czy takie wiersze są już na niej dostępne, przy czym uwzględniane są wartości podane w sekcji Mapowanie kolumn. Oznacza to, że w wyniku wykonania akcji niektóre z wierszy Listy pozycji mogą się powielać.
Opcja Mapowania kolumn pozwala powiązać kolumny źródła danych z kolumnami Listy pozycji. Na podstawie skonfigurowanego mapowania dane w Liście pozycji są uzupełniane zgodnie z kolejnością kolumn na formularzu w danym kroku. Jeśli mapowanie kolumny nie zostało skonfigurowane, kolumna będzie pomijana przy ustawianiu wartości. Jeśli pomimo mapowania źródło danych nie zwróci kolumny, to kolumna będzie pomijana, tak jakby nie była skonfigurowana, a inicjalizacja i akcja zalogują o brakującej konfiguracji kolumny.
Akcja może posłużyć m.in. do początkowego zasilenia Listy pozycji i stanowi alternatywę dla akcji Aktualizuj wartości listy pozycji z zaznaczoną opcją Dodaj nowe wiersze ze źródła danych, w przypadku której do Listy pozycji dodawane są wyłącznie unikalne wiersze z podanego Źródła danych z uwzględnieniem Mapowania wartości unikalnej (patrz niżej).
- Przykład konfiguracji i działania akcji
Akcję skonfigurowano z uwzględnieniem źródła danych „Spare part price list”, którego kolumny odpowiadają kolumnom Listy pozycji „List of spare parts”. W sekcji Mapowanie kolumn wskazano pokrywające się kolumny Listy pozycji i źródła danych:
Po naciśnięciu przycisku w menu, pod którym skonfigurowana jest akcja, dodawane są wszystkie wiersze dostępne w źródle danych.
Zgodnie z założeniem Lista pozycji zostaje uzupełniona o wszystkie wiersze ze źródła danych bez zastosowania dodatkowych warunków unikalności. W związku z tym część wierszy się powiela, co zostało zaznaczone na rysunku powyżej.
Dodatkowo w podsumowaniu wykonania akcji w Historii elementu widnieje informacja, że w wyniku działania akcji dodanych zostało 15 wierszy:
Wyczyść listę pozycji
Akcja służy do usuwania wszystkich wartości Listy pozycji, którą wskazano w konfiguracji. Na skutek działania akcji usuwane są również wiersze, których użytkownik nie widzi w trybie akceptacji. Akcja nie jest dostępna z poziomu automatyzacji globalnych.
- Przykład konfiguracji i działania akcji
W oknie konfiguracyjnym akcji wystarczy wskazać Listę pozycji, która zostanie usunięta.
Po naciśnięciu przycisku w menu akcja usuwa wszystkie dane Listy pozycji.
Potwierdzeniem wykonania powyższej operacji jest log, zgodnie z którym w wyniku działania akcji usunięte zostały 3 wiersze Listy pozycji.
Zastąp wartości listy pozycji
Wykonanie tej akcji skutkuje wyczyszczeniem wszystkich wierszy Listy pozycji i uzupełnieniem tej listy nowymi wierszami z podanymi wartościami w wybranych kolumnach. W odróżnieniu od akcji Aktualizuj wartości listy pozycji okno konfiguracyjne tej akcji nie posiada sekcji poświęconej mapowaniu wartości unikalnej, ponieważ w wyniku jej działania do Listy pozycji wczytywane są wszystkie wiersze znajdujące się w źródle danych. Można zatem stwierdzić, że akcja Zastąp wartości listy pozycji jest połączeniem opisanych powyżej akcji: Wyczyść listę pozycji i Dodaj wiersze listy pozycji. W logu informującym o przebiegu akcji wyświetlone są dane na temat liczby zastąpionych wierszy.
- Przykład konfiguracji i działania akcji
Akcję skonfigurowano z uwzględnieniem źródła danych „Spare part price list”, którego kolumny odpowiadają kolumnom Listy pozycji „List of spare parts”. W związku z tym w sekcji Mapowanie kolumn wskazano pokrywające się kolumny Listy pozycji i źródła danych:
Po naciśnięciu przycisku w menu, pod którym skonfigurowana jest akcja, następuje nadpisanie wierszy Listy pozycji wszystkimi wierszami, jakie tylko dostępne są w źródle danych. W tym przypadku wiersze mogą się powtarzać.
Dodatkowo w logu dostępnym w Historii elementu widnieje informacja, że w wyniku działania akcji zastąpiono (w tym dodano) łącznie 15 wierszy:
Usuń wiersz listy pozycji
Akcja, jako jedyna z tutaj opisywanych, dostępna jest wyłącznie w kontekście operatora Wykonaj dla każdego, gdzie zdefiniowanym Typem kolekcji jest Lista pozycji. Działanie akcji ogranicza się do usuwania aktualnego wiersza Listy pozycji, w związku z czym nie jest dla niej dostępne okno konfiguracyjne. Na jej podstawie można przygotowywać wzorce akcji. W logu wykonania akcji w trybie administracyjnym pojawi się informacja, który dokładnie wiersz Listy pozycji został usunięty.
- Przykład konfiguracji i działania akcji
Zgodnie z definicją powyżej akcję Usuń wiersz listy pozycji zdefiniowano pod przyciskiem menu w obrębie automatyzacji wykorzystującej operator Wykonaj dla każdego:
Z uwagi na to, że nie zdefiniowano żadnego dodatkowego warunku wykonania akcji, po naciśnięciu przycisku usunięte zostają wszystkie wiersze Listy pozycji – tj. akcja zostaje wykonana dla każdego wiersza, zgodnie z założeniami funkcjonalnymi operatora Wykonaj dla każdego.
Świadczy o tym m.in. zapis dostępny w Historii elementu:
Aktualizuj wartości listy pozycji
Jest to zaktualizowana wersja akcji Zmiana wartości listy pozycji, dzięki której można w bardziej przejrzysty i elastyczny sposób określać rodzaj zmiany wartości na Liście pozycji. Akcja jest kompilacją trzech akcji: Dodaj wiersz listy pozycji, Wyczyść listę pozycji oraz Zastąp wartości listy pozycji, jednak w przypadku jej wykonania pod uwagę brany jest warunek unikalności. Oprócz samej nazwy zmodyfikowano także okno konfiguracyjne akcji w Designer Studio. W sekcji Rodzaj zmiany dostępne są teraz trzy opcje do wyboru:
- Aktualizuj istniejące wiersze – aktualizuje wartości w wierszach Listy pozycji, dla których identyfikatory pokrywają się z identyfikatorami dostępnymi w źródle danych. W przypadku wybrania tej opcji aktualizowane są komórki wskazane w konfiguracji mapowania wartości unikalnej.
Identyfikatorem wiersza Listy pozycji jest unikatowa wartość jednej z jego komórek, która jednoznacznie definiuje ten wiersz i czyni go niepowtarzalnym (nawet jeśli wartości innych komórek tego wiersza pokrywają się z wartościami analogicznych kolumn Listy pozycji). Przykładem wartości, która może posłużyć jako identyfikator wiersza jest nr PESEL, KRS, NIP, nr dowodu osobistego, nr legitymacji szkolnej/studenckiej, nr indeksu,
nr seryjny / kod produktu, VIN, nr tablic rejestracyjnych, sygnatura akt, oznaczenie faktury księgowej / umowy itd. Jako identyfikator wiersza Listy pozycji nie należy wskazywać kolumn, których wartości powtarzają się w obrębie Listy.
Jeżeli jednak na Liście pozycji mają znaleźć się wszystkie wiersze, jakie znajdują się w źródle danych bez sprawdzania wartości unikalnej, to w takim przypadku warto użyć akcji Dodaj wiersze listy pozycji.
- Dodaj nowe wiersze ze źródła danych – w oparciu o skonfigurowany identyfikator wiersza dodawane są jedynie te wiersze, które występują w źródle danych, ale nie są dostępne na Liście pozycji. Dodawane są komórki wskazane w konfiguracji mapowania wartości unikalnej,
- Usuń wiersze nieistniejące w źródle danych – usuwa z Listy pozycji wiersze, które nie są dostępne w źródle danych. Identyfikowanie wierszy do usunięcia odbywa się w oparciu o wartości unikalne wskazane w konfiguracji mapowania wartości unikalnej.
Aby wykonanie akcji było możliwe, konieczne jest wybranie co najmniej jednej z powyższych opcji. W zależności od Rodzaju zmian wprowadzonych na Liście pozycji w logu informującym o przebiegu akcji wyświetlone zostaną dane na temat liczby zaktualizowanych, dodanych lub usuniętych wierszy.
- Przykład konfiguracji i działania akcji
Akcję skonfigurowano z uwzględnieniem zewnętrznego źródła danych typu Baza MSSQL o nazwie „Spare part price list”, którego kolumny odpowiadają kolumnom Listy pozycji „List of spare parts”. Założeniem wykonania akcji w prezentowanym przypadku jest dostosowanie Listy pozycji w taki sposób, aby dokładnie odzwierciedlała stan źródła danych, ale jednocześnie nie zawierała powielających się pozycji, które mogą w nim występować. Z biznesowego punktu widzenia pracownik sklepu internetowego chciałby pobrać i wprowadzić do systemu zaktualizowaną listę części zamiennych, jaką otrzymał od swojego franczyzodawcy. Niektóre pozycje listy powielają się z tymi dostępnymi w źródle danych – sklep oferuje te same części zamienne, jednak w zmienionych cenach. Franczyzobiorca chce, aby w systemie dostępne były dane wyłącznie tych produktów, które faktycznie znajdują się w ofercie sklepu wraz z aktualnymi cenami. W związku z tym w sekcji Mapowanie kolumn wskazano pokrywające się kolumny Listy pozycji i źródła danych, jako Rodzaj zmiany wskazano wszystkie dostępne warianty, natomiast Mapowanie wartości unikalnej oparto na numerze seryjnym (Serial numer), który w tym przypadku jest niepowtarzalnym identyfikatorem każdej części zamiennej / każdego wiersza Listy pozycji.
Po naciśnięciu przycisku w menu, pod którym skonfigurowana jest akcja następuje aktualizacja wartości Listy pozycji o wartości dostępne w źródle danych, przy czym żaden wiersz Listy pozycji nie zostaje powtórzony.
Zgodnie z logiem dostępnym w Historii elementu, Lista pozycji zawiera teraz 8 wierszy, z czego 4 wiersze uległy aktualizacji, 4 wiersze zostały dodane, natomiast z Listy pozycji nie usunięto żadnych wierszy.
Powyższy przykład obrazuje skumulowane działanie akcji na niewielkiej próbie danych, jednak istnieje możliwość jej konfiguracji z uwzględnieniem dokładnego rodzaju oczekiwanej zmiany, również z zastosowaniem Filtru zawężającego wartości zwracane ze źródła danych.
Podsumowanie
Akcje powiązane z Listą pozycji w dużym stopniu automatyzują pracę z tym atrybutem. W zależności od skonfigurowanej akcji, dostępności źródeł danych, a także zdefiniowanych filtrów i dodatkowych opcji mapowania kolumn, użytkownicy mogą uzupełniać, nadpisywać i aktualizować wartości Listy pozycji, mając pewność, że żadne informacje, które chcieliby w niej uwzględnić, nie zostaną pominięte. Zależnie od oczekiwanego efektu, osoby odpowiedzialne za konfigurację procesu mogą wybierać spośród akcji, które będą uwzględniały wartości unikalne bądź nie. Dodatkowo możliwe jest teraz szybkie usuwanie wszystkich lub tylko wybranych wierszy atrybutu, co ogranicza konieczność ręcznego przeprowadzania tych operacji i jest szczególnie korzystne w przypadku rozbudowanych List pozycji.