Przejdź do głównej zawartości

Tworzenie dokumentu DOCX z użyciem szablonu


W poniższym przykładzie opisane zostało jak utworzyć pakiet przetwarzania, który wygeneruje dokument WORD na podstawie wcześniej stworzonego szablonu oraz danych wczytanych z pliku CSV.

image

Import dokumentów​

  1. Przejdź do archITekt Studio i wczytaj wcześniej przygotowane szablony dokumentów wraz ze strukturą danych dokumentu.

image

  1. Widok w serwerze wersji po imporcie plików.

image

Wczytanie pliku CSV z danymi​

  1. Wybierz menu Plik, a następnie Nowy>pakiet przetwarzania.
  2. Zostanie wyświetlony edytor pakietu oraz zakładka Przybornik wraz z bloczkami do tworzenia graficznego przedstawiania pakietu.
  3. Przeciągnij na edytor bloczek Wczytanie z pliku CSV.
  4. Przejdź do szczegółów bloczka - kliknij dwukrotnie w bloczek lub przejdź na zakładkę Szczegóły.
  5. Wczytaj plik i w wyświetlonym oknie wybierz Tak. Ważne aby wybrać odpowiednie kodowanie.

image

  1. Następnie należy określić separator używany w pliku CSV (w tym przypadku ,), a kolejno strukturę danych na podstawie wiersza z pliku (w tym przypadku wiersz numer 1).
  2. Przejdź na zakładkę Tabela, zaznacz wiersz z nagłówkiem i wybierz przycisk Wyznacz strukturę danych na podstawie wiersza.

image

  1. Na panelu Schematy można zobaczyć jak wygląda wynikowy schemat po wczytaniu danych z pliku CSV.

image

  1. Dodaj bloczek Podgląd danych (bloczek znajduje się w kategorii Narzędzia projektowe) i połącz go z bloczkiem Wczytywanie z pliku CSV. Jest to działanie opcjonalne celem sprawdzenia wyniku wczytywania pliku.
  2. Uruchom pakiet, wciskając klawisz F5 lub z menu górnego opcję Uruchom.
  3. Po uruchomieniu pakietu można podglądnąć wyniki wykonania, otwierając edytor dla bloczka Podgląd danych.

image

Utworzenie dokumentu​

  1. Dodaj bloczek Utworzenie dokumentu.
  2. Jeżeli nie został wyznaczony automatycznie to wyznacz korzeń danych wejściowych, czyli rekord w strukturze danych, który będzie zawierał dane źródłowe.
  3. Przejdź w szczegóły bloczka i zaznacz rekord i kolejno wybierz podświetlony na żółto przycisk Wybierz korzeń.

image

  1. W tym momencie pojawia się dodatkowa struktura odpowiedzialna za przechowywanie informacji potrzebnych przy tworzeniu dokumentów:

image

  1. Przejdź na Właściwości bloczka i wybierz szablon z serwera wersji.

image

  1. W schemacie danych pojawia się struktura zaciągnięta z szablonu.

  2. Następnie pustą strukturę z pliku szablonu należy połączyć ze strukturą danych z pliku CSV.

  3. Przeciągnij pole na schemacie z pliku na odpowiadające mu pole z szablonu i z menu kontekstowego wybierz Ustaw źródło.

image

  1. Po rozpoczęciu przetwarzania, dane są zapisywane w document_output\content Można to sprawdzić dodając bloczek Podgląd danych.

image

image

Zapis dokumentu​

  1. W celu zapisu wygenerowanych plików na dysku użyj bloczka Uruchamianie kodu (zapis wygenerowanych dokumentów na dysk nie jest działaniem standardowym, zwykle wyniki generowania dokumentów zapisuje się do pól binarnych bazy danych).
  2. Przeciągnij bloczek i przejdź do jego szczegółów.

image

  1. Użyj funkcji WriteFIle() i wskaż ścieżkę i nazwę dokumentu oraz format i dane binarne dokumentu:

/Faktura_"+[NazwaKontrahenta]+"."+document_output\format,document_output\content

Tworzenie dokumentu z wykorzystaniem pobierania danych z bazy​

W podobny sposób jak to zostało opisane podczas tworzenia dokumentu WORD z wykorzystaniem danych pobranych z pliku CSV można zbudować pakiet przetwarzania, w którym dane do dokumentu zostaną zasilone danymi z bazy danych.

  1. W tym przykładzie na szablonie dokumentów chcemy wyświetlić raport dotyczący klienta wraz z listą wniosków do niego przypisanych.

image

  1. W bazie danych jest zdefiniowana tabela KLIENT oraz tabela WNIOSEK, która posiada relację do danych klienta.

image

image

  1. Utwórz pakiet przetwarzania.
  2. W celu pobrania danych z bazy przeciągnij bloczek Odczyt z bazy na obszar roboczy.
  3. Przejdź na zakładkę Szczegóły bloczka i wpisz zapytanie SQL aby pobrać dane klienta z tabeli KLIENT

image

  1. Przeciągnij na obszar roboczy bloczek Loop join i połącz go z bloczkiem odczytu z bazy danych klienta.
  2. Bloczek Loop Join umożliwia dołączanie wyników zapytania z dodatkowego źródła do rekordów z źródła pierwotnego. W tym przypadku do danych klienta chcemy dołączyć jego wnioski z tabeli WNIOSEK
  3. Okno Dane wejściowe z portu ‘Input’ przedstawia widok podglądowy schematu elementów danych wejściowych pochodzących z pierwszego źródła. Okno obok umożliwia przedstawienie zapytania do portu ‘QueryInput’– dane z dodatkowego źródła. Jedynie dane spełniające zadane wymagania zostaną przepuszczone.
  4. Przejdź do szczegółów bloczka i przenieś pole K_ID na prawą stronę do portu wyjściowego.

image

image

  1. Przeciągnij kolejny bloczek Odczyt z bazy w celu pobrania danych wniosku.
  2. Przejdź na szczegóły bloczka Odczyt z bazy - Wnioski_klienta i w zapytaniu SQL wprowadź warunek, po którym dane mają zostać złączone z pierwszym źródłem danych. Chcemy aby wnioski były wyświetlane w dokumencie w kontekście klienta, dla którego generowany będzie dokument. W tym przypadku dane z tabeli KLIENT i WNIOSEK są ze sobą powiązane relacją
  3. Poprzeciągaj odpowiednie pola do zapytania lub wpisz zapytanie SELECT * FROM dbo.WNIOSEK where W_KLIENT_ID = #(K_ID)#

image

  1. Następnie dodaj bloczek Utworzenie dokumentu i wczytaj dokument na panelu Właściwości oraz bloczek Uruchomienie kodu i zdefiniuj gdzie zapisać dokument. Analogicznie jak w poprzednim przykładzie.
  2. Podczas definiowania źródła danych dla pól z dokumentu poprzeciągaj pola ze struktury danych na pola z dokumentu analogicznie jak w poprzednim przypadku. Pola z bazy KLIENT (rekord Dane_klienta) na pola ze struktury dokumentu Klient.
  3. Wybierz z menu kontekstowego Ustaw źródło.

image

  1. Rekord Wnioski_klienta jest rekordem wielokrotnym i odpowiada danym z dokumentu z tabeli Wniosek
  2. Należy tutaj pamiętać aby na odpowiedni rekord zmapować dane. Zależy to od tego w jaki sposób zostały wstawiane pola ze struktury danych dokumentu do szablonu. W tym przypadku w dokumencie została utworzona relacja z tabeli Klient do tabeli Wniosek RELWNIOSEK i po tej ścieżce zostały wstawione pola w znacznikach do dokumentu.
  3. W tym przypadku aby poprawnie zmapować dane przenieś rekord Odczyt z bazy - WNIOSEK na rekord RELWniosek i wybierz opcję Sklonuj.

image

  1. Następnie sklonowane dane przenieś na pola z dokumentu i wybierz z menu kontekstowego opcję Ustaw źródło.

image

Zapis dokumentu do bazy danych​

  1. Dodaj bloczek Zapis do bazy danych (kategoria Bloczki wyjściowe).
  2. Na rekordzie głównym zacznij wpisywać Klient i wybierz do jakiej bazy zapisać dane czyli do dbo.KLIENT

image

  1. Oznacz rekord Klient adnotacją Zapis rekordu do bazy danych (z menu kontekstowego wybierz opcję Zmień/użyj rekordu). Po wykonaniu akcji na drzewie powinny pojawić się nowe pola sugerujące jakie dane powinny znaleźć się w bazie danych.
  2. Na adnotacji na rekordzie zapisu do bazy danych wybierz typ akcji jako Auto:InsertUpdate
  3. Oznacz pole K_ID adnotacją Klucz główny.

image

  1. Z rekordu document_output przeciągnij pole binarne content na pole ze struktury Klient K_RAPORT i wybierz z menu kontekstowego Ustaw jako źródło danych.
  2. Na polu K_NAZWA_RAPORTU możesz użyć adnotacji Stała lub Wyrażenie i wprowadzić dane jak będzie nazywać się dokument.

image

Zobacz również​

Odczyt z bazy i zapis danych do pliku

Odczyt z pliku CSV i zapis do bazy

Integracja z Active Directory