Instrukcja administratora > Parametryzacja systemu > Makiety dokumentów > Edytor makiet | | Drukuj |
Wzór makiety przygotowujemy w formacie HTML. Oprócz standardowego formatu HTML program wymaga pewnych dodatkowych danych:
•21 pierwszych linii przeznaczonych jest na ustawienie konfiguracji wydruku w programie
•między znakami # wstawiane są instrukcje interpretowane przez program
Wzór makiety modyfikujemy na zakładce Źródło.
Przy modyfikacji i tworzeniu nowych dokumentów trzymamy się następujących zasad:
•wzorujemy się na wcześniej utworzonych lub standardowych makietach
•używamy standardowego języka HTML
•niestandardowe instrukcje interpretowane przez program (#...#) wstawiamy klikając w zaplanowanym miejscu prawym klawiszem myszy
•przechodząc na zakładkę Podgląd możemy od razu zobaczyć efekt swojej modyfikacji
W przygotowywanym wzorze oprócz układu ramek i stałych tekstów chcielibyśmy umieścić dane konkretnego pracownika. W tym celu w wybranym miejscu klikamy prawym klawiszem myszy i wybieramy odpowiednio:
•Wstaw dane - podczas wydruku symboliczna dana zastąpiona zostanie faktyczną, np. w miejscu #P_Nazwisko# podstawi się nazwisko konkretnego pracownika.
Szczególne dane z podmenu "Inne":
o#AktualnaData# - bieżąca data z ustawień programu
o#Data_Do# - "data do" z seryjnych dokumentów własnych
o#Data_Od# - "data od" z seryjnych dokumentów własnych
o#NastXx# - podaje datę dnia tygodnia Xx następującego po bieżącej dacie w ustawieniach programu (Xx=Pn,Wt,Śr,Cz,Pi,So,Ni)
o#TytulDokumentu# - podaje tytuł bieżącego dokumentu
Dla zestawień SQL możemy wybrać pola od #SQL_00# do #SQL_99#. Odpowiadają one kolejności pól, jakie pokażą się na zestawieniu. |
•Wstaw znaki sterujące - podczas wydruku symboliczny znak sterujący ustawi np. kolor systemowy wybrany w programie.
Wykaz znaków sterujących:
o#SON# - Zmienia czcionkę na ARIAL i zmniejsza rozmiar
o#SOF# - Wyłącza #SON#'
o#AON# - Zmień czcionkę na ARIAL i wytłuść
o#AOF# - Wyłącza #AON#'
o#bgBiały# - Zmienny kolor systemowy
o#bgJasny# - Zmienny kolor systemowy
o#bgPośredni# - Zmienny kolor systemowy
o#bgCiemny# - Zmienny kolor systemowy
o#bgCzarny# - Zmienny kolor systemowy
o#_bgBiały# - Stały kolor systemowy (niezależny od ustawień z/bez odcieni szarości)
o#_bgJasny# - Stały kolor systemowy (niezależny od ustawień z/bez odcieni szarości)
o#_bgPośredni# - Stały kolor systemowy (niezależny od ustawień z/bez odcieni szarości)
o#_bgCiemny# - Stały kolor systemowy (niezależny od ustawień z/bez odcieni szarości)
o#_bgCzarny# - Stały kolor systemowy (niezależny od ustawień z/bez odcieni szarości)
o#_KolorRamki# - Tak jak #_bgCiemny#, ale do użycia w stylach
o#KolorRamki# - Tak jak #bgCiemny#, ale do użycia w stylach
o#Pole_wyboru# - Pole wyboru (kwadrat pusty)
o#Pole_wyboru_c# - Pole wyboru (kwadrat czarny)
o#X# - Znacznik (X)
o# # - Znacznik ( )
o#Pole_wyboru_x# - Pole wyboru (zaznaczone)
o#Pole_wyboru_puste# - Pole wyboru (puste)
o#Kontrolka_SQL_0..9# - Kontrolka zestawienia SQL (kolejność odpowiada użytym kontrolkom z zestawienia)
•Wstaw pętlę - jeśli we wstawionej pętli wstawimy dane, np.
#LOOP Członkowie rodziny#
#R_Imię#
#ENDLOOP#
otrzymamy listę imion dzieci danego pracownika
•Wstaw warunek - używamy, jeśli chcemy umieścić fragment tekstu drukowany tylko wtedy, gdy spełniony zostanie odpowiedni warunek, np.
#IF SYS_Wynagrodzenie_brutto#>0
pracownik otrzymał wynagrodzenie
#ELSE#
pracownik nie otrzymał wynagrodzenia
#ENDIF#
jeśli wynagrodzenie brutto było większe od zera zostanie wydrukowany tekst "pracownik otrzymał wynagrodzenie", a w przeciwnym wypadku tekst "pracownik nie otrzymał wynagrodzenia"
W linii warunkowej nie może znajdować się nic więcej poza słowami kluczowymi. Wszystkie pozostałe znaki zostaną pominięte
•Wstaw funkcję - możemy wykonywać proste operacje na kwotach i wyrazach. Lista dostępnych funkcji:
o$Oblicz{...} - oblicza wyrażenie arytmetyczne np: $Oblicz{#SYS_Wynagrodzenie_brutto#-#SYS_Podatek_dochodowy#-#SYS_Składka_ZUS_prac.#-#SYS_Składka_zdrow.#}. Funkcja musi być zapisana w jednej linii.
o$Słownie - podaje słowną interpretację kwoty np: #SYS_Wynagrodzenie_brutto#$Słownie
o$Dużymi - drukuje dane dużymi literami np: #P_Nazwisko#$Dużymi
o$Suma - podaje sumę dowolnego pola np: #SYS_Wynagrodzenie_brutto#$Suma
o$Abs - podaje wartość bezwzględną kwoty np: #SYS_Wynagrodzenie_brutto#$Abs
o$Znak - podaje i-ty znak dowolnego pola np: #P_Nazwisko#$Znak[1]
o$SQL{...} - wstawia wynik zapytania SQL podanego pomiędzy nawiasami klamrowymi. Jeśli zapytanie zwróci kilka wierszy lub kolumn (np.jakąś tabelę), jego wiersze zostaną opatrzone atrybutami <tr>...</tr>, a kolumny <td>...</td>, dlatego aby poprawnie go wyświetlić należy funkcję objąć atrybutami <table>...</table>. Funkcja musi być zapisana w jednej linii.
Np. funkcja zwraca wiele wartości:
<table>
$SQL{select * from PRACOWNK}
</table>
Funkcja zwraca jedną wartość:
$SQL{select [Nazwisko] from PRACOWNK where [X_I]=12}
W zapytaniu SQL można używać tych samych wyrażeń jak w obiektach użytkownika i w zestawieniach SQL, a w szczególności:
▪odwoływać się do tabel aplikacji i ich pól (wyrażenie w nawiasach klamrowych np.{PRACOWNICY.X_I})
▪odwoływać się do zmiennych specjalnych (wyrażenie w nawiasach ostrych np.<USERIDE>)
▪używać kontrolek {X/nazwa_kontrolki}, co spowoduje, że przed zrobieniem dokumentu program zapyta o wprowadzenie danych do zdefiniowanych kontrolek - patrz rozdział Moduł raportów SQL. Należy przy tym w nagłówku makiety (pierwsze 21 linii) zmodyfikować linię sterującą inne #0 na inne #2
Podczas pisania zapytania SQL w ramach tej funkcji, można dwuklikiem myszy wywołać okno wygodnego edytora zapytań SQL
Tworzenie dokumentu wielostronicowego:
1. Należy w nagłówku makiety (pierwsze 21 linii) zmodyfikować linię sterującą liczba stron #... (wpisać ich liczbą po znaku #)
2. Na początku każdej następnej strony (za wyjątkiem pierwszej) wpisać klauzulę <!-- NOWA STRONA -->
Użycie kontrolek w funkcji $SQL:
Należy w nagłówku makiety (pierwsze 21 linii) zmodyfikować linię sterującą inne #0 na inne #2
Zmodyfikowaną makietę zapisujemy klikając w przycisk .
Nowy styl tworzenia makiet
Makiety dokumentów można tworzyć za pomocą pól z tabel aplikacji wg wzoru {TABELA.POLE}, zamiast tradycyjnych tagów (np. #P_Nazwisko#).
Dla przykładu {PRACOWNICY.Nazwisko} zwróci nam wartość, która znajduje się w bazie danych w tabeli PRACOWNK w polu Nazwisko.
Nowy styl umożliwia tworzenie:
•pętli - która przejdzie przez wszystkie rekordy w tabeli:
{TABELA.^BEGINLOOP} – początek pętli
{TABELA.POLE }
{TABELA.^ENDLOOP} – koniec pętli
Np. Aby wyświetlić nazwiska wszystkich pracowników, z których każde będzie zaczynało się od nowej linii należy utworzyć pętle:
{PRACOWNICY.^BEGINLOOP}
<p>{PRACOWNICY.NAZWISKO}</p>
{PRACOWNICY.^ENDLOOP}
•warunków - które wykonają zadane czynności jeżeli warunek zostanie spełniony
{^IF}{TABELA.POLE} = 0 Polecenie (zostanie wywołane gdy warunek zostanie spełniony) |
{^ELSE} Polecenie (zostanie wykonane gdy warunek nie zostanie spełniony) |
{^ENDIF} |
Np. Aby na wydruku wyświetlić Pan / Pani w zależności od płci pracownika, należy utworzyć polecenie warunkowe:
{^IF}{DANE PERSONALNE.PLEC}=1
Pan {PRACOWNICY.NAZWISKO} {PRACOWNICY.IMIE}
{^ELSE}
Pani {PRACOWNICY.NAZWISKO} {PRACOWNICY.IMIE}
{^ENDIF}
•obliczeń wyrażeń
{^COUNT}({TABELA.POLE}+{TABELA.POLE}-{TABELA.POLE})
Np. Aby wylistować składniki umowy o pracę oraz wyliczyć ich sumę należy utworzyć następującą formułę:
<p>{UMOWY O PRACĘ.X_01Nazwa}: {UMOWY O PRACĘ.X_01Wyliczony} zł</p>
<p>{UMOWY O PRACĘ.X_02Nazwa}: {UMOWY O PRACĘ.X_02Wyliczony} zł</p>
<p>{UMOWY O PRACĘ.X_03Nazwa}: {UMOWY O PRACĘ.X_03Wyliczony} zł</p>
<p>Kwota brutto:
{^COUNT}({UMOWY O PRACĘ.X_01Wyliczony}+{UMOWY O PRACĘ.X_02Wyliczony}+{UMOWY O PRACĘ.X_03Wyliczony})
zł</p>
•zapytania SQL – umożliwia wykonanie dowolnego zapytania SQL
{SQL} SELECT [POLE] FROM [TABELA] WHERE [WARUNEK]
Funkcja {SQL} zwraca pojedynczą wartość, nie ma możliwości pobrania za jej pomocą zestawu danych
•suma pól tabeli - która obliczy sumę wszystki wpisów z określonego pola w tabeli
{TABELA.^SUM.POLE}
•słowna interpretacja kwoty
{^WORD}1000 - na makiecie zostanie wyświetlony jako jeden tysiąc złotych
Pętle i warunki mogą być zagnieżdżane dowolnie.