Generacja i konwersja dokumentów w BPS – przypadek użycia

Facebooktwitterpinterestlinkedinmail

zaktualizowane do wersji 2016.1.2; autor: Karol Woźniak

Akcje generacji dokumentów Worda oraz Excela pozwalają w łatwy sposób dodawać pliki do formularza. W połączeniu z dodatkiem BPS Word Addin zyskujemy możliwość na tworzenie dynamicznych dokumentów z zawartością uwzględniającą aktualny stan formularza.

Dzięki akcji konwersji plików .docx do .pdf zyskujemy dodatkowo możliwość dodawania załączników, które mogą być otwarte przez każdego użytkownika na właściwie dowolnej maszynie bez potrzeby instalacji pakietu Microsoft Office.

Scenariusz

Rejestrując dokument chcemy by w drugim kroku (tj. Akceptacji przełożonego) dodany został załącznik .PDF z zawartością bazującą na dynamicznym szablonie .docx utworzonym z wykorzystaniem BPS Word Addin. 

Wygenerowany dokument będzie dodawany do kategorii załączników „PDF”.

Propozycja rozwiązania

W celu wdrożenia powyższego scenariusza pierwszym wymaganiem jest utworzenie szablonu .docx wykorzystując BPS Word Addin oraz umieszczenie go w bibliotece SharePoint.

Szczegółowa instrukcja instalacji i wykorzystania Addina jest dostępna tutaj.

Przykładowy szablon użyty w ramach tego artykułu:

gendoc-p1

Po utworzeniu podobnego szablonu (w formacie .docx) należy dodać go do biblioteki SharePoint i skopiować URL wskazujący na dokument.

Następnie w Designer Studio przechodzimy do węzła „Stałe” znajdującego się bezpośrednio pod węzłem "Konfiguracja". Dodajemy nową zmienną z domyślną wartością wskazującą na URL do szablonu .docx w bibliotece SharePoint.

2016-11-08 07_54_52-Remote Desktop Organizer

 

By przejść do kolejnej części potrzebujemy nowego atrybutu załączników korzystającego ze stałej listy wartości skonfigurowanej w poniższy sposób (wystarczą kategorie PDF i TEMP):

2016-11-08 07_55_19-Remote Desktop Organizer

 

Elementy potrzebne do poprawnego skonfigurowania akcji widoczne w drzewie procesu:

2016-11-08 07_55_49-Remote Desktop Organizer

 

Kolejnym (i kluczowy) krokiem jest skonfigurowanie wymaganych akcji. Przechodzimy do edycji kroku (tu startowego) i dodajemy trzy akcję „Na przejście ścieżką”:

  • Generacja plik Word – bazując na dynamicznym szablonie z biblioteki SharePoint akcja wygeneruje plik .docx z wartościami z formularza
  • Konwersja Word do PDF – akcja przeprowadzi konwersję wcześniej wygenerowanego pliku na format PDF
  • Usuń załącznik – za pomocą tej akcji pozbędziemy się wszystkich niechciany załączników z kategorii TEMP (lub innej wybranej). Dodatkową możliwością będzie zawężenie tylko do formatu .docx za pomocą zapytania SQL.

2016-11-08 07_56_34-Remote Desktop Organizer

 

W akcji Generacji Docx kluczowe ustawienia konfiguracyjne to:

  • Tryb działania – wybieramy „Nowy plik”
  • Wybór szablonu – z biblioteki dokumentów (biblioteka SharePoint`owa, do której dodaliśmy plik szablonu .docx)
  • Szablon dokumentu – wstawiamy zmienną wskazującą utworzony szablon

2016-11-08 07_43_42-Remote Desktop Organizer

 

Na podstawie wygenerowanego pliku .docx zostanie utworzony plik .pdf. Konfiguracja, która to wykona sprowadza się do wskazania odpowiednich kategorii załączników (źródłowej oraz docelowej) – są one oznaczone na poniższym zrzucie ekranu.

2016-11-08 07_45_04-Remote Desktop Organizer

 

Końcowym krokiem jest wyczyszczenie kategorii TEMP z wszystkich plików. W tym celu wybieramy wszystkie załączniki znajdujące się w/w grupie.

2016-11-08 07_46_51-Remote Desktop Organizer

Alternatywną opcją jest użycie zapytania SQL tak by wybrać wszystkie załączniki z kategorii TEMP, ale zawężone tylko do określonego rozszerzenia pliku – tutaj .docx.

Zapytanie SQL:

 

SELECT ATT_ID from dbo.WFDataAttachmets

WHERE ATT_WFDID={WFD_ID}

AND ATT_FileType = '.docx'

AND dbo.ClearWFElemID(ATT_Attribute1) = 'TEMP'

Istnieje również możliwość wyboru załączników poprzez wyrażenie regularne, ogólny przykład wybierający wszystkie załączniki w formacie .docx widoczny jest na screenie poniżej.

2016-11-08 07_52_13-Remote Desktop Organizer

 

Rezultat

Po zapisaniu procesu przechodzimy na formularz i startujemy nowy dokument.gendoc-p9

Po wykonaniu akcji w drugim kroku widoczny jest tylko załącznik w formacie .PDFgendoc-p10

 

W historii elementu widoczny jest również generowany załącznik .docx, który możemy w razie potrzeby pobrać na dysk. Natomiast nie będzie on widoczny na formularzu w panelu załączników.

Podgląd wygenerowanego pliku .PDF widoczny na formularzu.
gendoc-p11

Scenariusz można w łatwy sposób przerobić tak by generowanych było więcej dokumentów. Sprowadza się to do replikacji akcji generacji docx i konwersji pdf w raz z ustawieniem poprawnych URLi do szablonów. Akcja czyszczenia plików .docx z folderu TEMP pozostaje bez zmian.

 

3 thoughts to “Generacja i konwersja dokumentów w BPS – przypadek użycia”

  1. Zapytanie które jest przedstawione w artykule (DELETE FROM dbo.WFDataAttachmets…) usuwa elementy z bazy.
    Czy przypadkiem nie powinno być to zapytanie zwracające listę elementów (SELECT)? Przecież jest to okno zatytułowane "Wybór pliku"

  2. Artykuł dotyczy wersji 2016 w której nie było jeszcze dedykowanej akcji usuwania wybranego załącznika. Zapytanie dotyczy ostatniego kroku z przykładu i wóczas nie było innej opcji na usunięcie.
    Począwszy od wersji 2017.1.x, należy zamiast tego użyć dedukowanej akcji: "Usuń załącznik."

    1. A obrazki w artykule pochodzą z której wersji systemu?
      Tytuł okienka: "Konfiguracja – usuń załącznik"
      Opis w dolnej części: "Tryb usuwania …"

Komentarze są zamknięte.