eDokumenty umożliwiają obsługę szablonów pism. Procedura ich tworzenia jest prosta, a sam system zawiera kilka predefiniowanych szablonów. Szablony dostępne są w każdym miejscu w systemie, w którym możemy stworzyć nowy dokument z menu Nowy / Utwórz z szablonu -> wybór właściwego szablonu.
Praca z szablonami, zarządzanie nimi oraz sposób ich tworzenia opisana jest w sekcji dotyczącej szablonu pisma firmowego?.
W procesie tworzenia szablonów bardzo przydatna jest możliwość wykorzystania znaczników, które to podczas generowaniu dokumentu z szablonu są zamieniane na właściwe dane zarejestrowane w systemie. System zawiera szereg predefiniowanych znaczników. Ich lista widoczna jest w oknie dostępnym ze ścieżki Ustawienia / Panel sterowania/ Szablony dokumentów/ zakładka Import znaczników
Znaczniki, które uznamy za użyteczne w tworzeniu szablonów należy przenieść do zakładki Znaczniki szablonów poprzez ich zaznaczenie i użycie przycisku Zaimportuj znacznik. Znaczniki znajdujące się w tej zakładce są dostępne dla operatora, z poziomu edytora tekstu, do wykorzystania podczas tworzenia szablonów.
W przypadku gdy lista jest pusta lub wymaga aktualizacji należy wykonać operację Pobierz listę , spowoduje to udostępnienie do wykorzystywania wszystkich znaczników znajdujących się we wcześniej opisanej zakładce Znaczniki szablonów z okna Szablony dokumentów . Wstawienie wybranego znacznika do dokumentu następuje poprzez wykonanie operacji Wstaw znacznik . Przykład wykorzystania znaczników :
Nowe Miasto, dnia: #DATA.DZISIAJ# Znak sprawy: #SPRAWA.SYMBOL# Demo Sp. z o.o. Ul. Turinga 386 01-024 Nowe Miasto #KONTAKT.NAZWA_I_ADRES=bloczek# Wezwanie do zapłaty Wzywam #KONTAKT.NAZWA# do uregulowania zaległej płatności …. Z poważaniem #PISMO.NADAWCA#
W przypadku, gdy zdefiniowane w systemie znaczniki, nie wyczerpują potrzeb klienta w tym temacie, istnieje możliwość stworzenia znaczników dodatkowych. W tym celu należy wybrać opcje Nowy znacznik z zakładki Znaczniki szablonów na oknie Szablony dokumentów.
Znaczniki mogą być tworzone metodami:
Format takiego znacznika to #NAZWA_TABELI.NAZWA_POLA#. W oknie definicji takiego znacznika mamy do dyspozycji następujące pola:
Poniżej znajduje się przykład znacznika wyciągającego pole opis z tabeli dokumentów.
Sposób definiowania tego typu znacznika jest bardzo podobny do poprzedniego z różnicą ostatniego pola Cecha
W przypadku definiowania znacznika metodą z pomocnikiem górna część definicji znacznika pozostaje taka sama jak w poprzednich przypadkach. Nowością jest lista predefiniowanych pomocnych znaczników. Jest to najprostszy sposób definiowania znacznika gdyż nie wymaga znajomości tabel jednak ma ograniczenie gdyż pomocnik jest definiowany tylko przez programistę.
w przypadku tego pola znacznik może produkować dowolnie zdefiniowaną treść jak np.: generowanie tabelki z wykazem zadłużenia.
W niektórych przypadkach, znaczniki utworzone metoda z pomocnikiem, mogą udostępniać różne sposoby wyświetlania. Aby spowodować wyświetlenie odpowiedniego formatowania w obrębie znacznika dodajemy odpowiedni token np. #KONTAKT.ADRES=bloczek#
Znacznik ten daje największe możliwości jeśli chodzi o pobieranie danych z bazy.
Poza standardowymi polami, dostępne są dodatkowe:
W przypadku jeśli ma być nagłówek wtedy 1 wiersz wyniku jest nagłówkiem
Dodatkowo dla formatowanie typu kwota (MONEY) - zapytanie musi być postaci
SELECT 123, 'PLN'
Przykład wykorzystania tego znacznika
Jako przykład niech posłuży pobranie numeru nip jednej ze stron umowy. Zapytanie wygląda następująco:
Kroki tworzenia takiego zapytania są następujące:
Podzapytanie tworzymy podobnie jak zwykłe zapytanie sql ale jako warunek 'WHERE' wybieramy z listy kontekstów konkretny kontekst. W naszym przypadku będzie to kontekst 'Umowa'.
Po wybraniu tego kontekstu w miejsce kursora w polu zapytania sql pojawi się definicja ctrcid={CONTEXT}. Aby zmienić kontekst usuwamy fragment ctrcid={CONTEXT} i ponownie wybieramy kontekst.
Aby obsłużyć brak danych i wypisać własny komunikat należy użyć formy np.
SELECT COALESCE((SELECT nip_ _ _ FROM contacts WHERE contid=c.toctid)::text , 'brak numeru nip') FROM contract c WHERE ctrcid={CONTEXT} [[BR]]
Powodzenia.
UWAGI
W przypadku szablonów tworzonych w formacie rtf należy pamiętać, iż możliwe jest aby tekst w znaczniku był formatowany tak jak sobie tego życzy użytkownik. Znacznik można standardowo sformatować poprzez pogrubienie itd, jednak formatowaniu musi być poddany cały znacznik wraz z znakami '{{' lub '#'.
-- kwerenda pobiera listę produktów z dokumentu - można wykorzystać do szablonu PZ/WZ SELECT 'Nazwa' as depnam, 'J.m.' AS unitnm, 'Ilość'::text AS quantm, 'Uwagi' AS commnt UNION select depnam, replace(replace(replace(replace(replace(replace(replace(unitnm, 'PIECE', 'sztuka'), 'METER', 'metr'), 'METER2', 'mkw'), 'KILOGRAM', 'kilogram'), 'LITER', 'litr'), 'HOUR', 'godzina'), 'KM', 'kilometr') AS unitnm, quantm::text, commnt from fk_elements where doc_id={CONTEXT} ORDER BY quantm DESC -- kwerenda pobiera datę dokumentu który posłużył do wygenerowania aktualnego dokumentu -- np. procedura zapytania ofertowego tworzy ofertę - w ofercie chcemy pobrać do -- szablonu datę z zapytania. SELECT d2.adddat::date FROM documents d LEFT JOIN doc_link_doc dld ON d.doc_id = dld.doc_id LEFT JOIN documents_view d2 ON dld.rel_to = d2.doc_id WHERE d.doc_id = 905