




Dotyczy wersji 2020.1.x i powyżej, autor: Józef Cyran
Wprowadzenie
Częstą potrzebą biznesową jest wygenerowanie dokumentu (np. faktury, umowy, zaświadczenia, itd.) na podstawie szablonu z wstawionymi parametrami z aplikacji. Pozwala to utworzyć dokument dla każdego zamówienia czy pracownika z odpowiednimi danymi.
Akcja generacji/aktualizacji dokumentu WORD i konwersji do PDF
WEBCON BPS oferuje taką opcję poprzez akcje – generowania/aktualizacji Word oraz – jeśli zachodzi taka potrzeba – konwersji dokumentu Word do formatu PDF. W tym celu oprócz standardowego środowiska WEBCON BPS potrzebujemy także specjalnej wtyczki do pobrania w prawym górnym rogu standardowej strony BPS.
Następnym krokiem jest połączenie wtyczki z naszym serwerem BPS. W tym celu wchodzimy w zakładkę WEBCON BPS i klikamy w Ustawienia po czym wpisujemy URL serwera i klikamy Połącz. Następnie wybieramy Szablony do generowania plików i w miejsce w tekście gdzie chcemy wstawić wartość atrybutu wybieramy odpowiedni atrybut dwukrotnym kliknięciem z okna które pokazało się po prawej strony.
Business Case: wypożyczanie sprzętu pracownikowi
Aby pokazać szczegółowo działanie i możliwości generowania dokumentów, stworzono aplikację służącą do wypożyczania sprzętu – w naszym przypadku IT oraz biurowego. Proces główny na końcu wygeneruje gotową do podpisania umowę – dzięki temu dział zatwierdzający zaoszczędzi czas na ręczne wypełnianie danych.
Proces Wypożyczenie Sprzętu składa się z kroku startowego, gdzie pracownik wybiera sprzęt, następnego gdzie uzupełnia swoje dane po czym trafia do kroku sterującego – tutaj w zależności od rodzaju wypożyczanego sprzętu formularz trafia do działu IT lub HR. Po zatwierdzeniu przez odpowiedni dział na obu ścieżkach przejścia dodano akcję generowania Worda, a następnie akcję konwersji tego pliku do PDF.
UWAGA: Z obu akcji stworzono wzorzec. Wzorce akcji pozwalają na proste użycie takich samych konfiguracji wiele razy w procesie i zaleca się tworzenie i stosowanie wzorców jako dobrą praktykę. W naszym przypadku akcje na obu ścieżkach wykorzystują ten sam wzorzec.
Powyżej mamy atrybuty jakich użyto – z zastrzeżeniem, że _dział od sprzętu jest atrybutem technicznym, a Imię i Nazwisko w rzeczywistej aplikacji powinno być typu Osoba lub Grupa lub Pole Wyboru.
Wybrany sprzęt, to pole ze źródłem danych dowolnego rodzaju. W konfiguracji ustawiamy, żeby odpowiednie kolumny uzupełniały się w polach "Rodzaj sprzętu" i "Wartość sprzętu".
W następnym kroku pracownik wybiera okres czasu i uzupełnia inne dane. Informacje te znajdą się na umowie.
Krok sterujący przypisał element do kroku "Zatwierdzenie przez HR" na podstawie pola Rodzaj sprzętu. Innym możliwym rozwiązaniem (dostępnym w wersji 2020) byłoby stworzenie jednego kroku nazwanego Zatwierdzenie i przypisanie zadania do odpowiedniego działu w konfiguracji ścieżki w zakładce Tworzenie Zadania. Pozwalałoby to uniknąć tworzenia dwóch oddzielnych kroków.
W tym celu można przypisać ścieżkę na podstawie reguły biznesowej, można ją zobaczyć poniżej:
Krok Zatwierdzenie jest bardzo prosty i pozwala na udzielenie zgody bądź odrzucenie wniosku o wypożyczenie. Skupimy się więc na akcjach na ścieżkach zatwierdzających.
Typ akcji ustawiamy jako: Generuj/Aktualizuj plik Word. Poniżej pokazaliśmy konfigurację:
Tryb działania ma trzy możliwe ustawienia: Nowy plik, Aktualizuj plik, oraz Nowy plik dla wiersza listy pozycji. Działanie dwóch pierwszych jest oczywiste, natomiast w przypadku wiersza listy pozycji, akcja generuje po jednym dokumencie dla każdego wiersza. Można wtedy w szablonie nazwy pliku, szablonie opisu pliku i szablonie DOCX używać tagów dotyczących wiersza listy pozycji, takich jak {S:DET_ID}, {S:DET_LP}, {S:DET_Att1}, itd.
Do wyboru mamy dwa sposoby wyboru szablonu – z załącznika bądź z linku. W przypadku linka wpisujemy go po prostu w pole Szablon dokumentu. Link powinien prowadzić bezpośrednio do szablonu który przygotujemy.
Druga opcja, z załącznika pozwala na wykorzystanie szablonu dodanego do jakiegoś elementu. W najprostszej konfiguracji będzie to element w którym akcja została użyta – możemy wtedy wybrać kategorię, czy wyrażenie regularne do wyboru który dokument użyć jako szablon.
Dobrym zwyczajem jest jednak stworzenie procesu słownikowego. W wersji 2020 taki proces można wygenerować automatycznie przy pomocy kreatora. W starszych wersjach możemy go stworzyć sami. Będzie się on składać jedynie z dwóch lub trzech kroków i co ważne – zawierać będzie tylko jeden element danego typu formularza. Do elementu tego dodajemy szablon jako załącznik.
Aby wybrać szablon, użyjemy zapytania SQL:
Gdzie ATT_WFDID jest ID powyżej pokazanego elementu procesu słownikowego. Następnie, konfigurujemy zakładkę Wynik. W nazwie pliku możemy umieścić atrybut z formularza, by umowy dla poszczególnych pracowników nazywały się inaczej.
Akcja typu "Konwertuj Word do PDF" działa analogicznie, z tym, że jako źródłowego dokumentu używamy już wygenerowanego dokumentu Word. Istotnym jest, aby znajdowała się ona poniżej akcji generowania Word – akcje wykonywane są zawsze w kolejności od góry do dołu.
Konfiguracja akcji konwertowania jest analogiczna do generowania – ponownie możemy tu wybrać sposób wyboru załącznika, a w zakładce wyniki jego nazwę.
Tworzenie szablonu
Szablon który dodano do procesu słownikowego jako wzór wygląda tak:
Na czerwono zaznaczono atrybuty formularza (oraz datę ze stałych kontekstowych) które wybrano dwukrotnym kliknięciem myszki w oknie Szablony do generowania plików Wtyczki WEBCON BPS.
Okno z atrybutami możliwymi do wstawienia w dokument znajduje się po prawej stronie ekranu. Przycisk User Settings umieszczony na wstążce u góry ekranu służy konfiguracji połączenia się z serwerem BPS.
Poniżej mamy wygenerowany dokument Word dla przykładowo uzupełnionych danych:
Akcje generowania dokumentów pozwalają na szeroką parametryzację i zautomatyzowanie powtarzalnej pracy ręcznego wypełniania dokumentów. W przypadku gdy potrzebny jest wyłącznie PDF akcja "Usuń załącznik" przychodzi nam z pomocą, należy ją umieścić za akcją generowania PDFa. Przedstawiony przykład to tylko ilustracja jednego z wielu zastosowań tych akcji, warto o nich pamiętać przy tworzeniu aplikacji.