## Szablony

Szablony to gotowe treści wiadomości i dokumentów używane przez reguły biznesowe i mechanizm eskalacji. Mogą zawierać zmienne podstawiane automatycznie na podstawie danych zgłoszenia.

Zarządzanie szablonami dostępne jest pod **Konfiguracja → Szablony**.

## Typy szablonów

| Typ | Opis | Edytor |
|---|---|---|
| Email | Wiadomość e-mail w formacie HTML | Edytor kodu HTML z podglądem |
| SMS | Krótka wiadomość tekstowa | Edytor tekstowy z licznikiem znaków |
| PDF | Dokument PDF dołączany jako załącznik do e-maila | Edytor kodu HTML z podglądem |

Typ szablonu jest ustawiany przy tworzeniu i nie może być zmieniony.

## Ustawienia szablonu

- **Typ szablonu** — email, sms lub pdf
- **Nazwa** — wielojęzyczna nazwa szablonu
- **Opis** — wielojęzyczny opis szablonu
- **Treść** — edytowana osobno dla każdego języka

Dla szablonów e-mail i PDF dostępna jest dodatkowa opcja **Częściowy szablon**. Szablony częściowe służą jako fragmenty osadzane w innych szablonach — nie mogą być używane samodzielnie.

## Zmienne

W treści szablonu można wstawiać zmienne, które są automatycznie podstawiane podczas wysyłki. Zmienne dostępne są przez panel **Wstaw słowa kluczowe** w edytorze.

### Zmienne systemowe

Format: `{{nazwa_zmiennej}}`

- `{{current_date}}` — aktualna data
- `{{current_time}}` — aktualny czas
- `{{logged_first_name}}` — imię zalogowanego użytkownika
- `{{logged_last_name}}` — nazwisko zalogowanego użytkownika
- `{{logged_email}}` — e-mail zalogowanego użytkownika
- `{{logged_position}}` — stanowisko zalogowanego użytkownika
- `{{logged_phone}}` — telefon zalogowanego użytkownika

### Zmienne zgłoszenia, klienta i powiązanych podmiotów

Zmienne odpowiadają polom aplikacji zdefiniowanym w systemie:

- `{{issue_<kod_pola>}}` — wartość pola zgłoszenia
- `{{customer_<kod_pola>}}` — wartość pola klienta
- `{{distributor_<kod_pola>}}` — wartość pola dystrybutora
- `{{service_<kod_pola>}}` — wartość pola serwisu

Dostępne są też specjalne zmienne zgłoszenia:
- `{{issue_system_url}}` — link do zgłoszenia w systemie
- `{{issue_status_url}}` — link do publicznej strony statusu
- `{{issue_status_link_qr_code}}` — kod QR do strony statusu (obraz)
- `{{issue_internal_number_barcode}}` — kod kreskowy z numerem zgłoszenia (obraz)

### Szablony częściowe

W szablonie e-mail lub PDF można osadzić inny szablon częściowy:

Składnię wstawiania generuje edytor automatycznie po wybraniu szablonu z panelu zmiennych — nie trzeba jej wpisywać ręcznie.

Lista dostępnych szablonów częściowych widoczna jest w panelu zmiennych.

## Szablony startowe

Podczas tworzenia szablonu dostępna jest funkcja **Szablony startowe** — gotowe wzorce do wyboru jako punkt wyjścia do edycji.

## Gdzie używane są szablony

- **Wiadomości ze zgłoszeń** — przy wysyłaniu wiadomości e-mail lub SMS ze zgłoszenia można wybrać szablon jako podstawę treści
- **Generowanie dokumentów** — szablony PDF umożliwiają generowanie dokumentów (np. protokołów, potwierdzeń) dostępnych do pobrania ze zgłoszenia
- **Reguły biznesowe** — akcje wysyłania e-mail i SMS wskazują szablon do użycia; szablony PDF można dołączyć jako załączniki do wiadomości e-mail
- **Eskalacje** — każdy typ zgłoszenia może mieć przypisany szablon e-mail wysyłany przy eskalacji

---

## FAQ

### Czy szablon może zawierać HTML?
Tak, szablony e-mail i PDF obsługują HTML. Szablony SMS obsługują wyłącznie tekst.

### Jak podejrzeć wygląd szablonu?
Edytory e-mail i PDF mają tryb podglądu dostępny przez zakładkę **Podgląd** — widać tam wyrenderowany HTML.

### Czym jest szablon częściowy?
Szablon częściowy to fragment treści (np. stopka, nagłówek) osadzany w innych szablonach za pomocą tagu `{% include %}`. Nie może być wysłany samodzielnie.

### Czy szablon może zawierać kod QR lub kod kreskowy?
Tak. Zmienne `{{issue_status_link_qr_code}}` i `{{issue_internal_number_barcode}}` generują obrazy kodu QR i kodu kreskowego, które można wstawić w szablonie HTML.

### Czy można zmienić typ szablonu po jego utworzeniu?
Nie. Typ szablonu jest ustawiany przy tworzeniu i nie może być zmieniony.

### Skąd wiem, jakie zmienne są dostępne?
Pełna lista zmiennych dostępna jest w panelu **Wstaw słowa kluczowe** w edytorze szablonu. Zmienne obejmują pola zgłoszenia i klienta zdefiniowane w konfiguracji pól aplikacji.
