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:
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.
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):
Elementy potrzebne do poprawnego skonfigurowania akcji widoczne w drzewie procesu:
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.
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
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.
Końcowym krokiem jest wyczyszczenie kategorii TEMP z wszystkich plików. W tym celu wybieramy wszystkie załączniki znajdujące się w/w grupie.
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.
Rezultat
Po zapisaniu procesu przechodzimy na formularz i startujemy nowy dokument.
Po wykonaniu akcji w drugim kroku widoczny jest tylko załącznik w formacie .PDF
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.
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.
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"
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."
A obrazki w artykule pochodzą z której wersji systemu?
Tytuł okienka: "Konfiguracja – usuń załącznik"
Opis w dolnej części: "Tryb usuwania …"