Zmiany pomiędzy wersją początkową i wersją 1 dla UserGuide/AdvancedConfiguration/CreatingTemplates

Pokaż
Ignoruj:
Data i czas:
11/30/09 14:23:30 (14 years temu)
Autor:
jbedlicka (IP: 213.227.67.33)
Komentarz:

--

Legend:

Bez zmian
Dodane
Usunięte
Zmienione
  • UserGuide/AdvancedConfiguration/CreatingTemplates

    v1 v1  
     1= Szablony = 
     2 
     3eDokumenty umożliwiają obsługę szablonów pism. Procedura ich tworzenia jest prosta, a sam system zawiera kilka predefiniowanych szablonów.  
     4 
     5== Korzystanie ze zdefiniowanych szablonów ==  
     6Szablony 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.    
     7 
     8 
     9 
     10Drzewiasta 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.  
     11 
     12Szablony 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. 
     13 
     14Dostepne są 3 rodzaje znaczników: 
     15 * zwykłe - bazodanowe 
     16 * helpery 
     17 * utworzone na podstawie cech 
     18 
     19Na start dostępna jest lista predefiniowanych znaczników, które należy zaimportować do aktywnej listy.  
     20Po instalacji dostępnych jest kilka znaczników których można używać od razu  
     21 *  DATA.DZISIAJ 
     22 *  SPRAWA.SYMBOL 
     23 *  KONTAKT.NAZWA 
     24 *  KONTAKT.PESEL 
     25 *  KONTAKT.SALDO 
     26 *  KONTAKT.NAZWA_I_ADRES (z dopiskiem bloczek w szablonie) 
     27 *  KONTAKT.SAM_ADRES (z dopiskiem bloczek w szablonie dla formatowania) 
     28W praktyce wystarczy się posługiwać kilkoma znacznikami aby utworzyć większość szablonów. Takimi znacznikami są np.: 
     29 
     30{{{ 
     31                                                                #JEDNOSTKA.MIASTO# dnia: #DATA.DZISIAJ# 
     32                                                                           Znak sprawy: #SPRAWA.SYMBOL# 
     33 
     34 
     35#JEDNOSTKA.NAZWA# 
     36#PRACOWNIK.JEDNOSTKA_ORG# 
     37#JEDNOSTKA.ULICA# #JEDNOSTKA.NUMER_DOMU# 
     38#JEDNOSTKA.KOD# #JEDNOSTKA.MIASTO# 
     39 
     40 
     41                                                                                #KONTAKT.SAM_ADRES=bloczek# 
     42 
     43 
     44                                         Wezwanie do zapłaty 
     45 
     46 
     47               Wzywam Pana/Panią #KONTAKT.NAZWA# legitymującego się numerem PESEL: #KONTAKT.PESEL#  
     48                        do uregulowania zaległej płatności w wysokości: 
     49                                        #KONTAKT.SALDO# 
     50 
     51 
     52                                                          Z poważaniem 
     53                                                          #PRACOWNIK.STANOWISKO# 
     54                                                          #PRACOWNIK.IMIE_NAZWISKO#}}} 
     55 
     56}}} 
     57 
     58Z powyższego szablony obsługiwanymi znacznikami są : 
     59 *  DATA.DZISIAJ 
     60 *  SPRAWA.SYMBOL 
     61 *  KONTAKT.NAZWA 
     62 *  KONTAKT.PESEL 
     63 *  KONTAKT.SALDO 
     64 *  KONTAKT.NAZWA_I_ADRES (z dopiskiem bloczek w szablonie) 
     65 *  KONTAKT.SAM_ADRES (z dopiskiem bloczek w szablonie dla formatowania) 
     66 
     67Istnieje możliwość zdefiniowania reszty użytych w powyższym szablonie znaczników przez wdrożeniowca lub programistę. 
     68 
     69Opró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. 
     70 
     71== Znacznik zwykły - z bazy danych == 
     72Format takiego znacznika to #NAZWA_TABELI.NAZWA_POLA# a sposób definiowania opisany jest poniżej: 
     73 
     74- Nowy znacznik[[BR]] 
     75- Wybieramy metodę definicji "z tabeli"[[BR]] 
     76- Pole "Znacznik:" powinno określać definicje znacznika z uwzględnieniem zasad - kolejne człony nazwy oddzielamy kropką i wszystko piszemy z dużą literą[[BR]] 
     77- Pole "Opis:" określa opisową definicje znacznika[[BR]] 
     78- Pole "Tabela:" określa tabelę bazy z której będą pobierane dane przy tworzeniu dokumentu[[BR]] 
     79- 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[[BR]] 
     80- Pole "Kolumna danych:" wskazuje na interesujące nas dane które chcemy aby znalazły się w miejscu pojawienia się znacznika w szablonie[[BR]] 
     81- Pole "Kontekst" w przypadku wyboru tabel lub widoków które są specyficzne różne od głównych: [[BR]] * podmioty [[BR]] * documents [[BR]] * users [[BR]] * organization_units [[BR]] * orgtree_view [[BR]] * processes [[BR]] * vindication.vind_proc [[BR]] 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 [[BR]] 
     82- 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[[BR]] 
     83[[BR]] 
     84 
     85== Znacznik tworzony z cechy == 
     86Sposób definiowania tego typu znacznika jest bardzo podobny do poprzedniego z różnicą ostatniego pola "Cecha:"[[BR]] 
     87- 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.[[BR]] 
     88[[BR]] 
     89 
     90== Znacznik z helperem == 
     91Definiowania znacznika z pomocnikiem (helperem):[[BR]] 
     92Gó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ę.[[BR]] 
     93- Pole "Znacznik:" definicja znacznika wraz z ewentualnymi opcjami wyświetlania[[BR]] 
     94- Pole "Pomocnik:" typ helpera (pomocnego znacznika)z jakiego chcemy korzystać[[BR]] 
     95w przypadku tego pola znacznik może produkować dowolnie zdefiniowaną treść jak np.: generowanie tabelki z wykazem zadłużenia. 
     96[[BR]] 
     97Znaczniki 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# 
     98 * Kontakt: dane adresowe: nazwa, adres, wszystko, bloczek.[[BR]] 
     99 * Kontakt: sam adres:  wiersz1, wiersz2, wszystko, bloczek.[[BR]] 
     100 * Sprawa: strona sprawy: strona ?? <o co chodzi dokładnie?>[[BR]] 
     101 * Sprawa: wierzyciel: nazwa, adres, wszystko, bloczek.[[BR]] 
     102 * Sprawa: dłużnik: nazwa, adres, wszystko, bloczek.[[BR]] 
     103  
     104[[BR]] 
     105== Znacznik jako SQL == 
     106 
     107Znacznik ten daje największe możliwości jeśli chodzi o pobieranie danych z bazy. [[BR]] 
     108- Pole "Warunek SQL" definicja zapytania SQL jakie ma pobrać dane[[BR]] 
     109- Pole "Kontekst:" typ kontekstu z jakiego będą pobrane dane[[BR]] 
     110Przykład wykorzystania tego znacznika [[BR]] 
     111Jako przykład niech posłuży pobranie numeru nip jednej ze stron umowy. Zapytanie wygląda następująco: [[BR]] 
     112select nip_ _ _ from contacts where contid = (select toctid from contract where ctrcid={CONTEXT}) [[BR]] 
     113Kroki tworzenia takiego zapytania są następujące: [[BR]] 
     114- fraza pobierająca dane select nip_ _ _ from contacts [[BR]] 
     115- fraza warunku where contid [[BR]] 
     116- fraza podzapytania (select toctid from contract where ctrcid={CONTEXT}) [[BR]] 
     117Podzapytanie 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. [[BR]] 
     118Aby obsłużyć brak danych i wypisać własny komunikat należy użyć formy np.[[BR]] 
     119SELECT COALESCE((SELECT nip_ _ _ FROM contacts WHERE contid=c.toctid)::text , 'brak numeru nip') FROM contract c WHERE ctrcid={CONTEXT} [[BR]] 
     120Powodzenia. [[BR]] 
     121'''UWAGI'''[[BR]] 
     122W 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 '#'. 
     123 
     124---- 
     125'''Nowe znaczniki:'''[[BR]] 
     126'''WINDYKACJA.DATA.WYMAGALNOSCI.ZOBOWIAZANIA''' 
     127       - 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[[BR]] 
     128'''KONTAKT.NUMER.NIP''' 
     129       - numer nip kontaktu[[BR]] 
     130'''WINDYKACJA.CENA_OBLICZONA''' 
     131       - Windykacja - cena obliczona - vind_proc_view(cvalue)[[BR]] 
     132'''WINDYKACJA.CENA_OBLICZONA_SLOWNIE''' 
     133       - Windykacja - cena obliczona słownie[[BR]] 
     134'''WINDYKACJA.WIERZYCIEL.NUMER_NIP''' 
     135       - Windykacja - numer NIP wierzyciela[[BR]] 
     136'''WINDYKACJA.WYDATKI_TYPY_KOSZTOW''' 
     137       - Windykacja: Do podsumowania - typy kosztów[[BR]] 
     138'''WINDYKACJA.WYDATKI_DATY_KOSZTOW''' 
     139       - Windykacja: Do podsumowania - daty kosztów[[BR]] 
     140'''WINDYKACJA.WYDATKI_KWOTY_KOSZTOW''' 
     141       - Windykacja: Do podsumowania - kwoty kosztów[[BR]] 
     142'''WINDYKACJA.PRZYCHOD_DATY_WPLYWU''' 
     143       - Windykacja: Do podsumowania - daty wpłat[[BR]] 
     144'''WINDYKACJA.PRZYCHOD_KWOTY_WPLYWU''' 
     145       - Windykacja: Do podsumowania - kwoty wpłat[[BR]] 
     146'''WINDYKACJA.SUMA_ZADLUZENIA_SLOWNIE''' 
     147       - Windykacja - suma zadłużenia słownie[[BR]] 
     148'''WINDYKACJA.DLUZNIK_NUMER_KRS''' 
     149       - Windykacja: numer KRS dłużnika[[BR]] 
     150'''WINDYKACJA.DLUZNIK_NUMER_NIP''' 
     151       - Windykacja: numer NIP dłużnika[[BR]] 
     152'''WINDYKACJA.DLUZNIK_NUMER_REGON''' 
     153       - Windykacja: numer REGON dłużnika[[BR]] 
     154'''WINDYKACJA.ZYSK_BRUTTO''' 
     155       - Windykacja: zysk ze sprawy brutto (tabela: vindication.vind_proc_view, klucz główny: prc_id, kolumna danych: brutto)[[BR]] 
     156'''WINDYKACJA.ZYSK_NETTO''' 
     157       - Windykacja: zysk ze sprawy netto( tabela: vindication.vind_proc_view, klucz główny: prc_id, kolumna danych: profit2)[[BR]] 
     158'''WINDYKACJA.ZYSK_VAT''' 
     159       - Windykacja: zysk ze sprawy - kwota VAT (tabela: vindication.vind_proc_view, klucz główny: prc_id, kolumna danych: vat)[[BR]] 
     160'''SPRAWA.SYMBOL_SPRAWY_NADRZEDNEJ''' 
     161       - Sprawa: symbol sprawy nadrzędnej zdefiniowany jako znacznik SQL[[BR]] 
     162'''WINDYKACJA.DATA_WYSTAWIENIA_PIERWSZEJ_FAKTURY''' 
     163       - Windykacja: data wystawienia pierwszej faktury z listy zobowiązań zdefiniowany jako znacznik SQL[[BR]] 
     164'''WINDYKACJA.DATA_WYSTAWIENIA_OSTATNIEJ_FAKTURY''' 
     165       - Windykacja: data wystawienia ostatniej faktury z listy zobowiązań zdefiniowany jako znacznik SQL[[BR]] 
     166'''PISMO.OPIS''' 
     167       - Pismo: opis dokumentu typu pismo bez nazwy kontrahenta (wszystko co jest po Od: lub Do: jest wycinane)[[BR]]