Alstre
Wypróbuj
07 · Wzory dokumentów

Edycja kodu wzoru

Widok kodu źródłowego dla nietypowych dokumentów: własne style, układy i sekcje, których nie ma w blokach. Piszemy, kiedy naprawdę warto po niego sięgnąć i co ogranicza silnik wydruku.

Gdzie to włączyć

Nad polem edycji stoi przełącznik Wizualnie / HTML. Pierwsza opcja pokazuje dokument tak, jak wygląda; druga — jego kod źródłowy.

To nie to samo co tryb zaawansowany
Przełącznik Prosty / Zaawansowany decyduje o czymś innym: czy poza blokami można wstawiać zmienne. Kod źródłowy otwiera dopiero opisany tutaj przełącznik HTML.

W widoku wizualnym bloki i zmienne są widoczne jako osadzone elementy — przy generowaniu wydruku wypełnią się treścią.

Kiedy warto

Rzadziej, niż się wydaje. Zanim sięgniesz po kod, sprawdź, czy potrzebnego elementu nie ma już w bibliotece bloków — bloki są utrzymywane razem z systemem i same nadążają za zmianami w umowie.

Kod ma sens przy trzech rzeczach:

  • Zgodność z księgą znaku — konkretne kolory, odstępy i kroje, których nie ustawisz przełącznikami.
  • Sekcja, której nie ma w blokach — na przykład własne warunki handlowe albo regulamin sklepu.
  • Poprawka układu — szerokości kolumn w tabeli pozycji, odstępy przed podpisami, wymuszenie podziału stron.

Co można w kodzie

  • Style zapisane przy elemencie, na przykład <div style="color:#005bbb">
  • Zmiana struktury tabeli, kolorów i odstępów
  • Własne sekcje i akapity poza blokami
  • Zmienne wstawiane w dowolnym miejscu, na przykład {{customer_name}}
  • Bloki jako puste znaczniki <div data-block="..."> — treść wstawia się przy wydruku
Warunków nie pisze się ręcznie
Fragment zależny od rodzaju nabywcy wstawia się blokiem warunkowym, także w tym trybie. Zapis w rodzaju {{#if}} nie zadziała — wydrukuje się dosłownie, razem z nawiasami.

Czego silnik wydruku nie zrobi

Wzór trafia do przeglądarki renderującej PDF, więc style zachowują się jak na stronie. Cztery rzeczy działają jednak inaczej:

Brak JavaScriptu
Dokument jest statyczny. Nic się nie przelicza ani nie animuje.
Style tylko wewnątrz
Arkusze pobierane z zewnętrznych adresów mogą się nie wczytać. Wszystko zapisuj przy elementach albo w bloku stylów w treści wzoru.
Obrazy z pełnym adresem
Grafika musi mieć pełny adres albo pochodzić z plików wgranych w ustawieniach firmy. Ścieżka względna nie zadziała.
Podziały stron
Steruje się nimi przez page-break-before: always i page-break-inside: avoid. To drugie warto założyć na tabelę pozycji, żeby wiersz nie pękał między stronami.

Dokument drukuje się w formacie A4 z zachowaniem kolorów tła. Nagłówek i stopka to osobne fragmenty wzoru — silnik sam wylicza dla nich margines, więc nie trzeba go zgadywać.

Jak pracować bezpiecznie

  • Sprawdzaj w podglądzie po każdej zmianie. Niedomknięty znacznik potrafi rozjechać całą dalszą część dokumentu.
  • Obejrzyj oba scenariusze — osobę prywatną i firmę.
  • Wydrukuj próbnie do PDF. Podgląd na ekranie nie pokazuje podziału na strony.
  • Zmiany rób na kopii wzoru. Nowy wzór z tego samego punktu wyjścia kosztuje chwilę, a pozwala wrócić do wersji, która działała.
Jeden wzór w kodzie, reszta z bloków
Wzór edytowany ręcznie przestaje korzystać z poprawek, które dokładamy do bloków. Warto trzymać w kodzie tylko ten dokument, który naprawdę tego wymaga, a resztę zostawić na blokach.