Baza wiedzy   /   Konfiguracja

Szablony dokumentów

Utworzono 19-01-2023 15:44

Szablony dokumentów służą do definiowana uniwersalnych wzorników dokumentów generowanych w systemie net47/net360. Są nimi m.in. umowy, harmonogramy, protokoły zdawczo-odbiorcze itp.

Mechanizm generowania dokumentów oparty jest na obiektowej bibliotece skryptów Smarty i pozwala na wykorzystywanie wbudowanych w nią funkcji. Oficjalna witryna projektu Smarty dostępna jest pod adresem https://www.smarty.net/.

Otrzymany zestaw szablonów jest proponowanym zestawem i nie trzeba się do niego ściśle stosować. Dokumenty te można dostosować do swoich potrzeb lub stworzyć swoje własne od podstaw.

Aby tworzyć i edytować szablony wymagane jest posiadanie programu Libre Office. Format pliku wyjściowego to .odt. Do tworzenia dokumentów stosujemy zmienne dostępne na http://wiki2.net47.pl/index.php/Kategoria:Dokumenty. Każda zmienna posiada szczegółowy opis swojej funkcji oraz przykładowe wartości. Zmienne należy umieszczać w odpowiednich miejscach w dokumencie. Można stosować wszelkie style i formatowania dostępne w Libre Office.

Lokalizacja szablonów w systemie

Menu główne > system > szablony dokumentów.

Zarządzanie szablonami

Aby dodać szablon klikamy Dodaj szablon. Dla każdego szablonu możemy przypisać „na sztywno” konkretny plan numeracyjny. Przydatne, kiedy stosujemy kilka grup dokumentów i chcemy np. aby każda grupa miała swój indywidualny plan numeracyjny. Aby to zrobić klikamy Edytuj Szablon i w liście rozwijanej Plan numeracyjny wybieramy interesujący nas plan. Jeżeli nie przypiszemy go „na sztywno”, to net47 zastosuje plan oznaczony jako domyślny. Po dodaniu szablonów należy stworzyć grupę dokumentów do umowy (zakładka Grupy dokumentów). Proponowane dokumenty składające się na umowę o świadczenie usług telekomunikacyjnych wymienione są poniżej:

  • Umowa
  • Protokół zdawczo-odbiorczy
  • Zamówienie
  • Regulamin
  • List Powitalny
  • Odstąpienie od umowy zawartej poza lokalem (opcjonalnie)
  • Regulamin Promocji
  • Harmonogram
  • Oświadczenie

Aby stworzyć grupę dokumentów, przechodzimy do zakładki Grupy dokumentów i klikamy Dodaj grupę. W kreatorze określamy nazwę grupy oraz decydujemy, czy ma być przeznaczona dla klientów typu Firma i do jakich grup klientów będzie przypisana (domyślnie wybrane są wszystkie grupy klientów). Po dodaniu grupy należy dodać do niej szablony dokumentów. W tym celu klikamy + obok nazwy grupy, a następnie klikamy Dodaj szablon. Z listy wybieramy interesujący nas szablon i opcjonalnie możemy określić jaka będzie ilość sztuk wydruku dokumentów. Jeżeli stworzona została nowa grupa dokumentów, a stara grupa ma być już nieużywana, to w oknie edycji grupy należy zaznaczyć opcję „Ukryty”. Spowoduje ona, że ukryta grupa nie będzie dostępna do wyboru w liście grup dokumentów podczas dodawania taryfy lub (re)generowania dokumentów.

Zmienne

Przykładowe zmienne stosowane w szablonach dokumentów:

{$Klient.Imie} – zmienna odpowiadająca za imię klienta. Imię klienta jest pobierane z bazy danych i wstawiane do dokumentu w miejsce zmiennej.

{$Klient.Nazwisko} – zmienna ta odpowiada za nazwisko klienta. Nazwisko jest pobierane z bazy danych i wstawiane do dokumentu w miejsce zmiennej.

Zmienne te umieszczone w dokumencie w taki sposób: 

Imię: {$Klient.Imie}
Nazwisko: {$Klient.Nazwisko}


dają przykładowy wynik

Imię: Jan
Nazwisko: Kowalski

UWAGA! Należy pamiętać, aby zawsze wprowadzać zmienne poprawnie. To znaczy, że każda zmienna musi być wprowadzona w następującej postaci: {$nazwa_zmiennej}.

W szablonach stosować można również wbudowane funkcje Smarty m.in., instrukcje warunkowe if oraz pętle foreach. Pełna lista funkcji oraz parametrów znajduje się na oficjalnej witrynie https://www.smarty.net/

foreach

Pętla foreach –  pozwala tworzyć tabele, gdzie każdy wiersz jest kolejnym elementem z tablicy danych. Przykładem jest tabela na dokumencie Faktura VAT - dzięki wykorzystaniu pętli foreach można utworzyć tabelę, w której zostaną umieszone pozycje z dokumentu.

Składnia pętli foreach wygląda następująco:

{foreach from=$nazwa.zmiennej item=Dane}

Opis parametrów:

from – tablica źródłowa

item – nazwa zmiennej iterującej

key – nazwa zmiennej z kluczem

Przykładowa pętla zastosowana w szablonie faktury:

{foreach from=$Faktura.Pozycje item=Dane}{$Dane@key}{$Dane.Nazwa}{$Dane.PKWIU}{$Dane.JednostkaMiary}{$Dane.Ilosc}{$Dane.CenaJednostkowa}{/foreach}

if

Instrukcja warunkowa if – pozwala na tworzenie warunków, czyli wykonanie przez mechanizmy generowania dokumentów różnych akcji w zależności od tego czy zdefiniowane wyrażenie jest prawdziwe, czy fałszywe. Innymi słowy pozwala na warunkowe wykonanie kodu. Składnia instrukcji if w szablonach wygląda następująco:

{if $nazwa_zmiennej warunek_logiczny}{$nazwa_zmiennej} lub tekst {else}{$nazwa_zmiennej2} lub tekst2{/if} oznacza to:

jeżeli (if) nazwa_zmiennej spełnia warunek_logiczny to wypisana zostanie wartość zmiennej nazwa_zmiennej lub tekst, w innym wypadku (else) wypisana zostanie wartość zmiennej nazwa_zmiennej2 lub tekst2

Najprostszym objaśnieniem zasady działania instrukcji warunkowej if jest poniższy przykład:

Mamy dwie zmienne a oraz b, do których wstawimy wartości liczbowe. Chcemy, aby program sprawdził, czy zmienna a jest większa/mniejsza/równa w stosunku do zmiennej b i w zależności od wyniku wypisał odpowiednią informację: zmienna a jest większa od zmiennej b lub zmienna a jest mniejsza od zmiennej b lub zmienna a i b są równe. Nadajmy naszym zmiennym wartości:

a=1

b=2

Program (według składni Smarty):

{if $a > $b} a jest większe od b {elseif $a < $b} a jest mniejsze od b {else} a i b są równe {/if}

Wynik powyższego warunku: a jest mniejsze od b - ponieważ liczba 1 jest mniejsza od liczby 2.

Kolejny przykład, tym razem wykorzystujący zmienne net47. Sprawdzanie, czy klient jest firmą, czy osobą fizyczną (detalistą) i wypisanie nazwy firmy lub imienia i nazwiska (w zależności od tego, czy warunek zostanie spełniony):

{if $Klient.NazwaFirmy != ''}{$Klient.NazwaFirmy}{else}{$Klient.Imie} {$Klient.Nazwisko}{/if} oznacza to:

jeżeli zmienna Klient.NazwaFirmy spełnia warunek  != '' (co oznacza, że nie jest pusta), to wypisana zostanie zawartość zmiennej Klient.NazwaFirmy, w innym wypadku (jeżeli zmienna nie spełnia warunku, czyli jest pusta), to wypisana zostanie zawartość zmiennych Klient.Imie i Klient.Nazwisko

Dokumenty typu "inny nie wymieniony"

Generator szablonów dokumentów pozwala na dodawanie szablonów niepowiązanych bezpośrednio z umowami i dokumentami finansowymi, czyli dokumenty bez określonej kategorii. Mogą to być dokumenty informacyjne (np. cenniki, pisma o przetwarzaniu danych osobowych) oraz inne dowolne dokumenty niepasujące do dostępnych kategorii. Aby wygenerować tego typu dokument, należy przejść na kartę klienta i skorzystać z opcji Wygeneruj pismo dostępnej w pasku bocznym. W kreatorze wybieramy dokument do wygenerowania i zatwierdzamy. Wygenerowany dokument pojawi się w liście dokumentów klienta. UWAGA! Na tych dokumentach nie są pobierane informacje o taryfach/komputerach/telefonach/stb klienta.