Szablony HTML wydruków (faktury, płatności)
Opublikowano
Faktury, dokumenty płatnicze i część zestawień drukowane są z szablonów HTML.
Szablon to zwykły plik .html z wstawkami, w które program podstawia dane dokumentu.
To inny mechanizm niż pola {Firma.Nazwa} używane we wzorach dokumentów tekstowych
(pism i umów) — opisane na stronie
Pola we wzorach dokumentów.
Różni się składnią i zestawem dostępnych danych:
| Wzory dokumentów tekstowych | Szablony HTML wydruków | |
|---|---|---|
| Zapis pola | {Firma.Nazwa} | <% SprzedawcaNazwa %> |
| Czego dotyczą | pisma, umowy, oświadczenia | faktury, KP/KW, zestawienia |
| Dane | firma, właściciel, pracownik | dokument (faktura, płatność) i jego pozycje |
| Podstawienie | raz, przy tworzeniu dokumentu | przy każdym wydruku i podglądzie |
Składnia
Wartość pola wstawia się między <% i %>:
<% Numer %>
<% DateToStr(DataWystawienia) %>
<% CurrToStrF(RazemBrutto) %>
Dostępne są też instrukcje warunkowe — przydatne, gdy fragment ma się pojawić tylko w niektórych fakturach:
<% if Zaliczka() %>
Faktura zaliczkowa
<% elif FakturaKoncowa() %>
Faktura końcowa
<% else %>
Faktura
<% end %>
Funkcje formatujące używane w szablonach dostarczanych z programem:
DateToStr(…), CurrToStr(…), CurrToStrF(…), IntToStr(…), Len(…), str(…), FormatHTML(…).
Skąd biorą się dane
Dokument jest obiektem głównym — jego pola podaje się bez przedrostka
(<% Numer %>, <% SprzedawcaNazwa %>). Ten sam obiekt dostępny jest także pod nazwą _,
co bywa potrzebne przy wywoływaniu funkcji: <% _.LogoObecne() %>.
Poza dokumentem w szablonie są dostępne:
| Nazwa | Zawartość |
|---|---|
(bez przedrostka) oraz _ | drukowany dokument — faktura albo płatność |
Podsumowania | zestawienia VAT faktury (tylko szablony faktur) |
Raport | informacje o wydruku wielu dokumentów naraz |
Obiekt Raport pozwala poprawnie drukować wiele dokumentów w jednym pliku —
Raport.PierwszyObiekt, Raport.OstatniObiekt, Raport.WieleObiektow,
Raport.NumerObiektu, Raport.LiczbaObiektow. Dzięki temu nagłówek dokumentu
HTML wstawiany jest tylko raz:
<% if Raport.PierwszyObiekt %>
<!DOCTYPE html>
...
<% end %>
Pozycje dokumentu
Wiersze powtarzalne (pozycje faktury, pozycje płatności) nie korzystają z <% %>.
Wskazuje się je atrybutami w tabeli:
<tr data-klasa="TPozycjaFaktury">
<td data-pole="#NumerKolejny"></td>
<td data-pole="Nazwa"></td>
<td data-pole="Ilosc"></td>
<td data-pole="WartoscBrutto" class="currency"></td>
</tr>
data-klasaw wierszu<tr>wskazuje, jakie pozycje wypisać — program powtórzy ten wiersz dla każdej pozycji dokumentu.data-polew komórce<td>wskazuje pole pozycji.data-pole="#NumerKolejny"wstawia liczbę porządkową,#Indeks— numer liczony od zera.class="currency"formatuje wartość jako kwotę;data-view="no0"pomija zera.
Dostępne klasy pozycji: TPozycjaFaktury, TPozycjaZaliczkiFaktury (rozliczane zaliczki),
TPozycjaPlatnosci, TPozycjaEwidencjiPrzebiegowVAT.
Zestawienia VAT wstawia się analogicznie, podając nazwę zbioru:
<tr data-klasa="TFDAdaptedDataSet" data-set-name="Podsumowania.Podsumowanie">
Listy pól
- Pola faktury — nagłówek, kwoty, strony transakcji, KSeF, pozycje, podsumowania
- Pola dokumentu płatniczego — KP/KW wraz z pozycjami
Własny szablon wydruku
- Skopiuj szablon dostarczony z programem (np.
faktura_1.html) do własnego katalogu — nie do katalogu programu, bo aktualizacja go nadpisze. - Wskaż ten katalog w konfiguracji programu — zobacz Własne wzory dokumentów.
- Nadaj plikowi inną nazwę niż szablon domyślny — plik o nazwie identycznej
z domyślną zostanie pominięty. W przypadku faktur nazwa musi pasować do wzorca
faktura_*.html, inaczej szablon nie pojawi się na liście wyboru w oknie faktury. - Wybierz szablon w oknie dokumentu (pole Szablon).
Szczegółowy opis z ilustracjami dla faktur znajdziesz na stronie Własne wzory faktur.
Plik musi zawierać deklarację typu szablonu — w szablonach dostarczanych z programem
jest ona w znaczniku <html>:
<html data-TemplateType="ttVelocity" data-TemplateName="faktura">
Bez tej deklaracji program nie rozpozna szablonu i go nie wypełni.
O czym warto pamiętać
- Błędna nazwa pola nie przerywa wydruku — w tym miejscu po prostu nic się nie pojawi. Warto sprawdzać zmiany na podglądzie wydruku.
- Część danych to funkcje — wymagają nawiasów, np.
<% SprzedawcaUlicaDomLokal() %>czy<% Zaliczka() %>. Pola (właściwości) podaje się bez nawiasów. - Style i układ to zwykły HTML i CSS — szablony dostarczane z programem korzystają z arkusza Bootstrap dołączonego do programu.
- Przed wdrożeniem własnego szablonu warto zachować kopię pliku — po aktualizacji programu łatwo porównać go z nową wersją szablonu domyślnego.