Generacja / aktualizacja dokumentu WORD + konwersja do PDF

Facebooktwitterpinterestlinkedinmail
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.