Version 2 (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.
Korzystanie ze zdefiniowanych 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.
Tworzenie własnego szablonu
Drzewiasta struktura dostępna jest globalnie dla wszystkich użytkowników W systemie dostępne później są z menu Nowy > Utwórz z szablonu. Aktualnie szablony tworzone są w formacie RTF. Dzięki wtyczkom do Worda i OpenOffice, możliwe jest tworzenie dokumentów z szablonów a następnie dopracowanie ich w edytorze tekstu po czym ponowne zapisanie na serwerze.
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 bazy danych
Format takiego znacznika to #NAZWA_TABELI.NAZWA_POLA# a sposób definiowania opisany jest poniżej:
- Nowy znacznik
- Wybieramy metodę definicji "z tabeli"
- 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 15 years temu.
- NowySzablon.PNG (15.6 KB) - dodany przez jbedlicka 15 years temu.
- ZnacznikZtabeli.PNG (13.1 KB) - dodany przez jbedlicka 15 years temu.
- ImportZnacznikow.PNG (35.3 KB) - dodany przez jbedlicka 15 years temu.
- Word_ListaZnacznikow.PNG (13.9 KB) - dodany przez jbedlicka 15 years temu.
- ImportZnacznikow.2.PNG (16.9 KB) - dodany przez jbedlicka 15 years temu.
- ImportZnacznikow.3.PNG (16.9 KB) - dodany przez jbedlicka 15 years temu.
- Word_ListaZnacznikow2.PNG (14.9 KB) - dodany przez jbedlicka 15 years temu.
- lista_znacznikow.PNG (11.0 KB) - dodany przez lglomb 13 years temu.
- lista_znacznikow_pokaz.PNG (20.9 KB) - dodany przez lglomb 13 years temu.
- szablony_dokumentów.png (24.4 KB) - dodany przez jpo 9 years temu.
- znaczniki_dokumentow.png (41.8 KB) - dodany przez jpo 9 years temu.
- znaczniki_szablonow.png (12.1 KB) - dodany przez jpo 9 years temu.