Generowanie dokumentów z szablonów na platformie Microsoft Dataverse

Praktycznie w każdym projekcie, nad którym dane mi było w ostatnich latach pracować, pojawiało się wymaganie związane z tworzeniem szablonów dokumentów oraz generowaniem na ich postawie dynamicznych plików MS Office (i nie tylko) zawierających dane pobrane z platformy Microsoft Dataverse. Użytkownicy systemu zazwyczaj potrzebują tej funkcjonalności do generowania pism i rozmaitych dokumentów dla swoich klientów, tworzenia plików ofertowych, umów, szablonów korespondencji oraz do wielu innych scenariuszy. W poniższych akapitach przedstawię 3 różne podejścia, prowadzące do udostępnienia opisanej powyżej funkcjonalność w aplikacjach Power Apps opartych na modelu danych.

Standardowa funkcjonalność systemu

W ramach standardowej funkcjonalności platformy Dataverse Microsoft daje użytkownikom możliwość tworzenia szablonów dokumentów oraz generowania na ich podstawie plików Word oraz Excel. Niestety funkcjonalność ta jest mocno ograniczona. Najbardziej problematycznym limitem jest ograniczenie pobierania danych z systemu jedynie do obiektów połączonych bezpośrednią relacją z rekordem, dla którego uruchamiamy szablon. Przykładowo, jeżeli nasz szablon zawiera dane firmy (accounts) oraz dane pracujących w tej firmie osób (contacts) w szablonie nie będziemy w stanie umieścić danych działań (activities) powiązanych bezpośrednio jedynie z pracownikami. Oczywiście istnieją pewne obejścia ww. problemu, ale wymagają one pewnej wiedzy związanej z „hackowaniem” standardowych możliwości systemu, a chyba nie o to nam w tym przypadku chodzi.

Również narzędzia do tworzenia szablonów z punktu widzenia użytkownika biznesowego ciężko nazwać przyjaznymi. Pojęcia takie jak „development”, czy „mapowanie XML” pojawiające się w czasie pracy z nimi mogą wywołać popłoch na twarzy niejednego użytkownika.

Plusy:

  • Dostępna „za darmo” w ramach subskrypcji Power Apps / Dynamics 365. 

Minusy:

  • Ograniczenia związane z pobieraniem danych do szablonu.
  • Tylko Microsoft Word oraz Excel.

Rozszerzenie systemu za pomocą dodatku DocumentsCorePack

Rozwiązaniem, które mógłbym polecić wszystkim poszukującym gotowego komponentu pozwalającego na generowanie dokumentów na podstawie szablonów, jest DocumentsCorePack for Microsoft Dynamics 365 & Power Apps dostępny na stronie https://www.mscrm-addons.com/products/documentscorepack.  

Wspomniane rozwiązanie w znaczący sposób rozszerza standardowe możliwości systemu w zakresie generowania dokumentów. Przede wszystkim znosi wspomniane w poprzednim akapicie ograniczenie związane w „głębokością” danych pobieranych do szablonu. Daje również możliwość eksportu do niedostępnych dla standardowego rozwiązania formatów plików (poza standardowymi plikami pakietu Office dostępne są również m.in. PDF i HTML). Generowane dokumenty możemy od razu zapisać na zintegrowanym z systemem portalu SharePoint lub w formie notatki dołączonej do rekordu. Proces tworzenia dokumentów możemy automatyzować za pomocą platformy Power Automate. Według dokumentacji DocumentCorePack daje również możliwość generowania dokumentów z poziomu aplikacji Canvas, natomiast uczciwie przyznam się, że nigdy nie wykorzystywałem tej funkcjonalności w praktyce.      

Plusy:

  • Brak ograniczeń związanych z pobieraniem danych do szablonu.
  • Dużo więcej funkcjonalności w porównaniu z pudełkowym rozwiązaniem.

Minusy:

  • Niestety, nic nie jest za darmo 😊
  • Do tworzenia szablonów wymagana jest instalacja dodatkowego oprogramowania na stacji roboczej użytkownika

Implementacja niestandardowej funkcjonalności

Dla wszystkich, dla których funkcjonalność DocumentCorePacka będzie niewystarczająca, lub też dla tych, którzy z różnych przyczyn nie będą chcieli z niego skorzystać, rozwiązaniem może być stworzenie własnego komponentu rozszerzającego funkcjonalność platformy Microsoft Dataverse. Niestety czynność ta w większości przypadków wymagała będzie umiejętności programowania oraz innych związanych ze wdrożeniem i utrzymaniem niestandardowej aplikacji Power Apps (testowanie, DevOps). Ze względu na powyższe kwestie, będzie to najprawdopodobniej najbardziej kosztowne rozwiązanie. Wiadomo – tworzenie, wdrożenie i utrzymanie kodu kosztuje niemało 😉.

Budując własne rozwiązanie, programiści mogą skorzystać z bibliotek lub API firmy Aspose. Produkty wspomnianej firmy w znaczący sposób ułatwiają oraz przyśpieszają budowę rozwiązań służących do generowania dokumentów na podstawie szablonów i danych w zewnętrznych źródłach. Aspose jest narzędziem przeznaczonym dla programistów, którzy to opierając się na nim, dopiero zbudują rozwiązanie, podobne* do dwóch opisanych w poprzednich akapitach.

Plusy:

  • „Sky is a limit”

Minusy:

  • Developers, developers, developers!

Powyższa lista nie wyczerpuje oczywiście wszystkich możliwości generowania dokumentów z danymi pobieranymi z Microsoft Dataverse dla klientów i użytkowników aplikacji Dynamics 365 i Power Apps. Na rynku znajdziecie pewnie wiele innych rozwiązań, które mogą zostać użyte do budowy omawianej funkcjonalności. Artykuł zawiera natomiast natomiast scenariusze, z którymi zetknąłem się w czasie swojej kariery i które mógłbym zarekomendować (oczywiście biorąc pod uwagę uwarunkowania i specyfikę biznesu klientów, dla których tworzymy system). Wszystkie opisywane powyżej podejścia widziałem na własne oczy, niektóre nawet osobiście wdrażałem/implementowałem i mogę zaświadczyć, że na projektach, na których zostały wykorzystane, sprawdziły się one bardzo dobrze.

* Warto również wspomnieć, że z bibliotek Aspose’a korzysta również wewnętrznie DocumentCorePack 😊

Total Views: 102 ,
Be the first to comment

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *