Version 17 (modified by jbedlicka, 15 years ago)

--

Szablony

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?.

Wykorzystanie znaczników w tworzeniu szablonów

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


Rys. 1

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.


Rys. 2


Rys. 3

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#

Typy znaczników

W systemie dostępne są następujące rodzaje znaczników

  • zwykłe - z tabeli bazy danych
  • helpery
  • utworzone na podstawie cech
  • SQL-owe

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.


Rys. 4

Znacznik zwykły - z tabeli

Format takiego znacznika to #NAZWA_TABELI.NAZWA_POLA#. W celu zdefiniowania takiego znacznika należy na oknie "Szablony dokumentów" na zakładce "Znaczniki dokumentów" wybrać z górnego menu przycisk "Nowy znacznik"


Rys. 1

Poniżej znajduje się przykład znacznika wyciągającego pole opis z tabeli dokumentów.


Rys. 2

  • Pole "Znacznik:" powinno określać definicje znacznika z uwzględnieniem zasad - kolejne człony nazwy oddzielamy kropką i wszystko piszemy z dużą literą
  • Pole "Opis:" określa opisową definicje znacznika
  • Pole "Tabela:" określa tabelę bazy z której będą pobierane dane przy tworzeniu dokumentu
  • Pole "Klucz główny:" odnosi się do nazwy klucza głównego z tabeli na która wskazuje pole "Tabela". Jeśli pole tabela wskazuje na widok należy wskazać klucz główny w tym widoku
  • Pole "Kolumna danych:" wskazuje na interesujące nas dane które chcemy aby znalazły się w miejscu pojawienia się znacznika w szablonie
  • Pole "Kontekst" w przypadku wyboru tabel lub widoków które są specyficzne różne od głównych:
    * podmioty
    * documents
    * users
    * organization_units
    * orgtree_view
    * processes
    * vindication.vind_proc
    należy wyspecyfikować kontekst i tak dla przykłady aby pobrać dane z widoku vindication.vind_proc_view np.: kolumne vat należy wybrać kontekst sprawy windykacyjnej
  • Pole "Formatowanie" w przypadku jeśli chcemy aby wymusić na pobieranych danych formatowanie określonego typu tzn. jeśli pobierana jest data w formacie 2000-01-01 08:00:00 jednak chcemy aby tylko pobrać z tego datę wtedy należy wybierać formatowane


Znacznik tworzony z cechy

Sposób definiowania tego typu znacznika jest bardzo podobny do poprzedniego z różnicą ostatniego pola "Cecha:"

  • Pole "Cecha:" określa z jakiej cechy (kontaktu/dokumentu) zostaną pobrane dane jeśli wystąpi klucz główny z pola "Klucz główny". W przypadku cech kontaktów (contacts) klucz główny to contid natomiast w przypadku dokumentów jest to doc_id.


Znacznik z helperem

Definiowania znacznika z pomocnikiem (helperem):
Górna część definicji znacznika pozostaje taka sama jak w poprzednich. Nowością jest lista predefiniowanych pomocnych znaczników (helperów). Jest to najprostszy sposób definiowania znacznika gdyż nie wymaga znajomości tabel jednak ma ograniczenie gdyż pomocnik jest definiowany tylko przez programistę.

  • Pole "Znacznik:" definicja znacznika wraz z ewentualnymi opcjami wyświetlania
  • Pole "Pomocnik:" typ helpera (pomocnego znacznika)z jakiego chcemy korzystać

w przypadku tego pola znacznik może produkować dowolnie zdefiniowaną treść jak np.: generowanie tabelki z wykazem zadłużenia.
Znaczniki z helperów mogą (nie wszystkie) udostępniać różne sposoby wyświetlania. Aby spowodować wyświetlenie odpowiedniego formatowania w obrębie znacznika dodajemy odpowiedni token np. #KONTAKT.ADRES=bloczek#

  • Kontakt: dane adresowe: nazwa, adres, wszystko, bloczek.
  • Kontakt: sam adres: wiersz1, wiersz2, wszystko, bloczek.
  • Sprawa: strona sprawy: strona ?? <o co chodzi dokładnie?>
  • Sprawa: wierzyciel: nazwa, adres, wszystko, bloczek.
  • Sprawa: dłużnik: nazwa, adres, wszystko, bloczek.


Znacznik jako SQL

Znacznik ten daje największe możliwości jeśli chodzi o pobieranie danych z bazy.

  • Pole "Warunek SQL" definicja zapytania SQL jakie ma pobrać dane
  • Pole "Kontekst:" typ kontekstu z jakiego będą pobrane dane

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:
select nip_ _ _ from contacts where contid = (select toctid from contract where ctrcid={CONTEXT})
Kroki tworzenia takiego zapytania są następujące:

  • fraza pobierająca dane select nip_ _ _ from contacts
  • fraza warunku where contid
  • fraza podzapytania (select toctid from contract where ctrcid={CONTEXT})

Podzapytanie tworzymy podobnie jak zwykłq 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}
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 '#'.


Nowe znaczniki:
WINDYKACJA.DATA.WYMAGALNOSCI.ZOBOWIAZANIA

  • można dodać indeks [1] gdzie 1 oznacza, że będzie brana pod uwagę data 1 zobowiązania z listy (według pola daty mtdate w vindication.obligations_view), jeśli nie będzie indeksu wtedy zostanie brane pod uwagę 1 wpis

KONTAKT.NUMER.NIP

  • numer nip kontaktu

WINDYKACJA.CENA_OBLICZONA

  • Windykacja - cena obliczona - vind_proc_view(cvalue)

WINDYKACJA.CENA_OBLICZONA_SLOWNIE

  • Windykacja - cena obliczona słownie

WINDYKACJA.WIERZYCIEL.NUMER_NIP

  • Windykacja - numer NIP wierzyciela

WINDYKACJA.WYDATKI_TYPY_KOSZTOW

  • Windykacja: Do podsumowania - typy kosztów

WINDYKACJA.WYDATKI_DATY_KOSZTOW

  • Windykacja: Do podsumowania - daty kosztów

WINDYKACJA.WYDATKI_KWOTY_KOSZTOW

  • Windykacja: Do podsumowania - kwoty kosztów

WINDYKACJA.PRZYCHOD_DATY_WPLYWU

  • Windykacja: Do podsumowania - daty wpłat

WINDYKACJA.PRZYCHOD_KWOTY_WPLYWU

  • Windykacja: Do podsumowania - kwoty wpłat

WINDYKACJA.SUMA_ZADLUZENIA_SLOWNIE

  • Windykacja - suma zadłużenia słownie

WINDYKACJA.DLUZNIK_NUMER_KRS

  • Windykacja: numer KRS dłużnika

WINDYKACJA.DLUZNIK_NUMER_NIP

  • Windykacja: numer NIP dłużnika

WINDYKACJA.DLUZNIK_NUMER_REGON

  • Windykacja: numer REGON dłużnika

WINDYKACJA.ZYSK_BRUTTO

  • Windykacja: zysk ze sprawy brutto (tabela: vindication.vind_proc_view, klucz główny: prc_id, kolumna danych: brutto)

WINDYKACJA.ZYSK_NETTO

  • Windykacja: zysk ze sprawy netto( tabela: vindication.vind_proc_view, klucz główny: prc_id, kolumna danych: profit2)

WINDYKACJA.ZYSK_VAT

  • Windykacja: zysk ze sprawy - kwota VAT (tabela: vindication.vind_proc_view, klucz główny: prc_id, kolumna danych: vat)

SPRAWA.SYMBOL_SPRAWY_NADRZEDNEJ

  • Sprawa: symbol sprawy nadrzędnej zdefiniowany jako znacznik SQL

WINDYKACJA.DATA_WYSTAWIENIA_PIERWSZEJ_FAKTURY

  • Windykacja: data wystawienia pierwszej faktury z listy zobowiązań zdefiniowany jako znacznik SQL

WINDYKACJA.DATA_WYSTAWIENIA_OSTATNIEJ_FAKTURY

  • Windykacja: data wystawienia ostatniej faktury z listy zobowiązań zdefiniowany jako znacznik SQL

PISMO.OPIS

  • Pismo: opis dokumentu typu pismo bez nazwy kontrahenta (wszystko co jest po Od: lub Do: jest wycinane)

Załączniki