taxmachine.pl

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 tekstowychSzablony HTML wydruków
Zapis pola{Firma.Nazwa}<% SprzedawcaNazwa %>
Czego dotycząpisma, umowy, oświadczeniafaktury, KP/KW, zestawienia
Danefirma, właściciel, pracownikdokument (faktura, płatność) i jego pozycje
Podstawienieraz, przy tworzeniu dokumentuprzy 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:

NazwaZawartość
(bez przedrostka) oraz _drukowany dokument — faktura albo płatność
Podsumowaniazestawienia VAT faktury (tylko szablony faktur)
Raportinformacje 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-klasa w wierszu <tr> wskazuje, jakie pozycje wypisać — program powtórzy ten wiersz dla każdej pozycji dokumentu.
  • data-pole w 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

Własny szablon wydruku

  1. Skopiuj szablon dostarczony z programem (np. faktura_1.html) do własnego katalogu — nie do katalogu programu, bo aktualizacja go nadpisze.
  2. Wskaż ten katalog w konfiguracji programu — zobacz Własne wzory dokumentów.
  3. 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.
  4. 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.

Tematy podrzędne