Instrukcja administratora > Parametryzacja systemu > Makiety dokumentów > Edytor makiet

Drukuj

Edytor makiet

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.

180501

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

180502

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

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.