| Version 11 (modified by jbedlicka, 16 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
Znaczniki, które uznamy za użyteczne w tworzeniu szablonów należy przenieść do zakładki Znaczniki szablonów
Szablony implementują standardowy mechanizm znaczników, znany z innych systemów. Tworzenie szablonu polega więc na tworzeniu dokumentów i wstawianiu w odpowiednie miejsca znaczników. Tak utworzony szablon można bezpośrednio zapisać w systemie do ponownego użycia bezpośrednio z poziomu edytora tekstu.
Dostepne są 3 rodzaje znaczników:
- zwykłe - bazodanowe
- helpery
- utworzone na podstawie cech
Na start dostępna jest lista predefiniowanych znaczników, które należy zaimportować do aktywnej listy. Po instalacji dostępnych jest kilka znaczników których można używać od razu
- DATA.DZISIAJ
- SPRAWA.SYMBOL
- KONTAKT.NAZWA
- KONTAKT.PESEL
- KONTAKT.SALDO
- KONTAKT.NAZWA_I_ADRES (z dopiskiem bloczek w szablonie)
- KONTAKT.SAM_ADRES (z dopiskiem bloczek w szablonie dla formatowania)
W praktyce wystarczy się posługiwać kilkoma znacznikami aby utworzyć większość szablonów. Takimi znacznikami są np.:
                                                                #JEDNOSTKA.MIASTO# dnia: #DATA.DZISIAJ#
                                                                           Znak sprawy: #SPRAWA.SYMBOL#
#JEDNOSTKA.NAZWA#
#PRACOWNIK.JEDNOSTKA_ORG#
#JEDNOSTKA.ULICA# #JEDNOSTKA.NUMER_DOMU#
#JEDNOSTKA.KOD# #JEDNOSTKA.MIASTO#
                                                                                #KONTAKT.SAM_ADRES=bloczek#
                                         Wezwanie do zapłaty
               Wzywam Pana/Panią #KONTAKT.NAZWA# legitymującego się numerem PESEL: #KONTAKT.PESEL# 
                        do uregulowania zaległej płatności w wysokości:
                                        #KONTAKT.SALDO#
                                                          Z poważaniem
                                                          #PRACOWNIK.STANOWISKO#
                                                          #PRACOWNIK.IMIE_NAZWISKO#}}}
Z powyższego szablony obsługiwanymi znacznikami są :
- DATA.DZISIAJ
- SPRAWA.SYMBOL
- KONTAKT.NAZWA
- KONTAKT.PESEL
- KONTAKT.SALDO
- KONTAKT.NAZWA_I_ADRES (z dopiskiem bloczek w szablonie)
- KONTAKT.SAM_ADRES (z dopiskiem bloczek w szablonie dla formatowania)
Istnieje możliwość zdefiniowania reszty użytych w powyższym szablonie znaczników przez wdrożeniowca lub programistę.
Oprócz tego istnieje możliwość tworzenia własnych znaczników na podstawie struktury bazy danych i tworzonych cech. Poniżej opisany jest mechanizm tworzenia dla każdego rodzaju znaczników.
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
- Szablony_1.PNG (12.7 KB) - dodany przez jbedlicka 16 years temu.
- NowySzablon.PNG (15.6 KB) - dodany przez jbedlicka 16 years temu.
- ZnacznikZtabeli.PNG (13.1 KB) - dodany przez jbedlicka 16 years temu.
- ImportZnacznikow.PNG (35.3 KB) - dodany przez jbedlicka 16 years temu.
- Word_ListaZnacznikow.PNG (13.9 KB) - dodany przez jbedlicka 16 years temu.
- ImportZnacznikow.2.PNG (16.9 KB) - dodany przez jbedlicka 16 years temu.
- ImportZnacznikow.3.PNG (16.9 KB) - dodany przez jbedlicka 16 years temu.
- Word_ListaZnacznikow2.PNG (14.9 KB) - dodany przez jbedlicka 16 years temu.
- lista_znacznikow.PNG (11.0 KB) - dodany przez lglomb 14 years temu.
- lista_znacznikow_pokaz.PNG (20.9 KB) - dodany przez lglomb 14 years temu.
- szablony_dokumentów.png (24.4 KB) - dodany przez jpo 10 years temu.
- znaczniki_dokumentow.png (41.8 KB) - dodany przez jpo 10 years temu.
- znaczniki_szablonow.png (12.1 KB) - dodany przez jpo 10 years temu.

