Przejdź do głównej zawartości

Szablony generatora dokumentów

Zaktualizowano 2026-07-29

1. Wstęp

Platforma eTeczki eFOB umożliwia generowanie dokumentów na podstawie szablonów, analogicznie jak to się dzieje w mechanizmach generowania dokumentów opartych na korespondencji seryjnej. Użytkownicy mogą tworzyć własne szablony *.docx korzystając z aplikacji LibreOffice kompatybilnej z MS Word, lub *.html przygotowując plik w kodzie tego języka.

Podczas generowania dokumentów, eFOB przy generacji automatycznie wypełnia pola dokumentów danymi z modułów systemu (np. Pracownicy, Kandydaci, Sprawy) lub danymi z kolumn z załączonego Excel. Dzięki temu mechanizmowi, generowanie dokumentów pracowniczych na podstawie szablonów staje się łatwe i efektywne.

Rekomendujemy zapoznanie się z ograniczeniami generatora dokumentów przed użyciem szablonów.

2. Przygotowanie szablonów

Szablony Word (*.docx)

  1. Aby wstawić pole do szablonu należy przejść do zakładki “Wstawianie”
  2. Ustawić kursor w miejscu, w którym chcemy wstawić pole
  3. W sekcji Tekst wybrać “Szybkie części” oraz następnie “Pole”
  4. Odszukać na liście MergeField
  5. W “Nazwa pola” wpisać kod z listy dostępnych pól generatora

Obraz pomocniczy

Rys 1. Dodawanie pól do szablonu w programie MS Word (krok 3)

Obraz pomocniczy

Rys 2. Dodawanie pól do szablonu w programie MS Word (krok 4)

Przykładowy tekst z wstawionymi polami MergeField «»

Mam na imię «E.first_name», a na nazwisko «E.last_name».

Szablony HTML (*.html)

Aby przygotować szablon HTML niezbędne jest stworzenie pliku spełniającego poniższe założenia:

  • Plik musi mieć rozszerzenie .html.
  • Koniecznym jest, by plik zaczynał się od <!DOCTYPE html>(1).
  • Plik musi zawierać przynajmniej 3 sekcje:
    • <html></html>, wewnątrz której będzie się znajdowała cała reszta kodu(2);
    • <head></head>, wewnątrz której będą się znajdowały informacje nt. samego pliku takie jak użyte czcionki czy ewentualne ustawienia graficzne czy zastosowanego kodowania(3);
    • <body></body>, wewnątrz której znajdować się będzie właściwa część dokumentu – treść, formatowanie, elementy jak tabele czy ewentualne obrazy (zachęcamy by obrazy były przekazywane w kodzie Base64)(4).

Wszelkie pola do generacji muszą być zawarte w podwójnych nawiasach klamrowych, przykładowo {{ E.first_name }}(5).

Obraz pomocniczy

Rys 3. Przykładowa struktura szablonu HTML

3. Konfiguracja szablonu w eTeczce eFOB

W celu użycia szablonu należy podpiąć szablon do istniejącego typu dokumentu lub stworzyć do tego celu nowy typ. Dany typ dokumentu może mieć przydzielony wyłącznie jeden szablon.

1. W aplikacji eFOB przechodzimy do menu Administracja i wybieramy moduł Typy dokumentów

Obraz pomocniczy

Rys 4. Typy dokumentów

2. Wyszukujemy interesujący nas typ dokumentu i przechodzimy do widoku edycji 3. W sekcji Szczegóły szablonu naciskamy przycisk Dodaj szablon(1) 4. W zależności od tego, jaki typ szablonu chcemy przekazać, wybieramy Word(2) lub HTML(3) 5. Wybieramy z naszego komputera plik z odpowiednim rozszerzeniem(4) 5. Naciskamy przycisk Weryfikuj(5)

Obraz pomocniczy

Rys 5. Dodawanie szablonu do typu dokumentu

6. Po chwili pojawi się podgląd wydruku szablonu, w którym wszystkie wartości pól będą zastąpione przez „…”. Jeśli wszystko się zgadza, naciskamy Zapisz szablon, aby przypisać go do wybranego typu dokumentu.

Obraz pomocniczy

Rys 6. Akceptacja i zapis szablonu do typu dokumentu

W przypadku szablonów HTML dostępny jest też dodatkowy wariant startu pracy. Po wybraniu typu HTML można:

  • uruchomić edytor od pustego szablonu za pomocą opcji Utwórz pusty szablon HTML,
  • albo przekazać gotowy plik przez opcję Prześlij plik HTML.

Pierwsza opcja od razu otwiera edytor, dzięki czemu szablon można budować bez przygotowywania pliku poza eFOB. Druga opcja sprawdza się wtedy, gdy szablon został już przygotowany wcześniej lokalnie i ma zostać zaimportowany do systemu.

Obraz pomocniczy

Rys 7. Wybór rozpoczęcia pracy od pustego szablonu HTML lub przesłania pliku HTML

4. Edycja szablonów

Dla obu typów szablonów możliwe jest ich zastąpienie w systemie. Aby to zrobić:

  • wybieramy interesujący nas typ dokumentu i przechodzimy do jego szczegółów,
  • odnajdujemy odpowiedni plik szablonu i z rozwijanego menu(1) wybieramy opcję Zastąp plik,
  • w nowym oknie wskazujemy typ szablonu(2), wybieramy plik z komputera(3) i uruchamiamy jego weryfikację(4).

Obraz pomocniczy

Rys 8. Zastępowanie istniejącego pliku szablonu

Dla szablonów HTML możliwa jest także edycja bezpośrednio w systemie. Aby ją uruchomić:

  • przechodzimy do szczegółów typu dokumentu,
  • odnajdujemy plik szablonu i z rozwijanego menu wybieramy opcję Edytuj plik.

Obraz pomocniczy

Rys 9. Uruchamianie edycji pliku HTML z poziomu szczegółów typu dokumentu

Otwarty zostanie edytor, który pozwala edytować treść oraz przygotować układ dokumentu pod końcowe generowanie PDF.

Obraz pomocniczy

Rys 10. Edytor szablonu HTML z najważniejszymi funkcjami

Elementy edytora

Edytor udostępnia narzędzia do pracy z treścią, formatowaniem i układem dokumentu. Większość z nich znajduje się na pasku w górnej części ekranu, a część otwiera dodatkowe okna ustawień.

Układ i style dokumentu

Na początku paska narzędzi znajdują się ustawienia wpływające na układ i wspólny wygląd całego dokumentu:

Obraz pomocniczy

Rys 11. Ustawienia układu dokumentu

Opcje edytora

Dalsza część paska narzędzi zawiera funkcje przydatne podczas bieżącej edycji dokumentu:

  • wybór czcionki (3), rozmiaru (4) i interlinii (5),
  • ustawienie koloru tekstu (6),
  • wyrównanie akapitów (7),
  • pogrubienie (8), kursywę (9), podkreślenie (10) i przekreślenie (11),
  • indeks dolny (12) i górny (13),
  • zaznaczanie treści (14),
  • wstawianie nagłówków (15),
  • cytaty (16) i bloki kodu (17),
  • listy numerowane (18) i nienumerowane (19),
  • wstawianie linii poziomej (20),
  • dodawanie (21) i usuwanie linków (22),
  • operacje na tabelach (23) - Więcej informacji,
  • czyszczenie formatowania (24),
  • cofanie (25) i ponawianie zmian (26).

Obraz pomocniczy

Rys 12. Opcje edytora - część 1

Obraz pomocniczy

Rys 13. Opcje edytora - część 2

Edytor pokazuje też licznik znaków, co ułatwia kontrolowanie objętości treści przy rozbudowanych szablonach.

Obsługa pliku

W górnej części edytora dostępne są funkcje związane z pracą na całym pliku:

  • pobranie aktualnej wersji HTML (27),
  • podgląd wygenerowanego dokumentu (28),
  • anulowanie zmian (29),
  • zapis szablonu (30).

Obraz pomocniczy

Rys 14. Opcje obsługi plików

Jeżeli szablon nie był wcześniej zapisany z poziomu edytora eFOB, system oznaczy go etykietą Created outside eFOB. To sygnał, że przy pierwszej edycji warto szczególnie dokładnie sprawdzić podgląd i formatowanie, zwłaszcza gdy plik pochodzi z zewnętrznego źródła.

Ustawienia strony

W oknie Ustawienia strony można określić jednostkę oraz marginesy dokumentu. Dostępna jest też opcja ustawienia jednakowych marginesów oraz szybki powrót do ustawień domyślnych.

Ta część edytora jest przydatna wtedy, gdy dokument ma mieć konkretny układ na stronie, np. inne marginesy dla porozumień, formularzy czy wydruków do podpisu.

Obraz pomocniczy

Rys 15. Ustawienia strony w edytorze HTML

Style dokumentu

Okno Style dokumentu pozwala zdefiniować wspólne ustawienia wyglądu dla całego szablonu. W zakładce podstawowej można ustawić m.in.:

  • domyślną czcionkę,
  • podstawowy rozmiar tekstu,
  • kolor tekstu,
  • interlinię,
  • odstępy między akapitami,
  • kolor obramowania tabel,
  • padding komórek tabeli.

Dzięki temu łatwiej utrzymać spójny wygląd całego dokumentu bez ręcznego poprawiania wielu pojedynczych elementów.

Obraz pomocniczy

Rys 16. Style dokumentu w zakładce podstawowej

W zakładce zaawansowanej można wprowadzić własny CSS dokumentu. To rozwiązanie przydaje się wtedy, gdy podstawowe opcje są niewystarczające i trzeba precyzyjnie dopracować styl konkretnych elementów.

Obraz pomocniczy

Rys 17. Style dokumentu w zakładce zaawansowanej

Tabele

Edytor zawiera też narzędzia do pracy z tabelami. Pozwalają one ustawić wygląd całej tabeli, pojedynczego wiersza albo wybranej komórki.

Obraz pomocniczy

Rys 18. Narzędzia tabel dostępne w pasku edytora

Obraz pomocniczy

Rys 19. Właściwości tabeli w edytorze HTML

Zakładka Tabela służy do ustawień całego obiektu. Można w niej określić m.in.:

  • szerokość tabeli,
  • wyrównanie tabeli,
  • układ kolumn,
  • sposób zwijania obramowania,
  • szerokość, styl i kolor obramowania,
  • kolor tła,
  • opcję Nie dziel tabeli między strony.

Obraz pomocniczy

Rys 20. Właściwości zaznaczonego wiersza tabeli

Zakładka Wiersz pozwala ustawić właściwości całego zaznaczonego wiersza, w tym:

  • wysokość wiersza,
  • wyrównanie pionowe treści,
  • kolor tła.

Obraz pomocniczy

Rys 21. Właściwości zaznaczonej komórki tabeli

Zakładka Komórka umożliwia bardziej szczegółowe formatowanie pojedynczych komórek. Obejmuje ono m.in.:

  • szerokość komórki,
  • minimalną wysokość komórki,
  • odstęp wewnętrzny,
  • kolor tła i kolor tekstu,
  • wyrównanie poziome i pionowe,
  • zawijanie tekstu,
  • wybór krawędzi obramowania oraz ustawienie jej szerokości i koloru.

Składnia Jinja2

W szablonach HTML można korzystać z wybranych elementów składni Jinja2, czyli mechanizmu, który odpowiada za wstawianie danych do dokumentu i prostą logikę warunkową. W praktyce oznacza to, że oprócz prostych odwołań do pól, takich jak {{ E.first_name }}, można też stosować filtry.

Jednym z najbardziej przydatnych przykładów jest filtr default():

{{ E.first_name | default('Brak imienia') }}

Filtr default() pozwala przekazać wartość domyślną, która zostanie użyta wtedy, gdy wskazana zmienna nie jest zdefiniowana. W powyższym przykładzie generator wstawi wartość pola E.first_name, a jeżeli nie będzie ona dostępna, użyje tekstu Brak imienia.

Jeżeli chcesz potraktować jako brak wartości także pusty tekst, pustą listę albo inną wartość ocenianą jako fałszywa, możesz użyć wariantu z drugim argumentem ustawionym na true:

{{ E.first_name | default('Brak imienia', true) }}

Ten wariant sprawdza się wtedy, gdy pole formalnie istnieje, ale jego wartość jest pusta i w dokumencie ma zostać pokazany tekst zastępczy.

Drugim prostym i często używanym przykładem jest filtr upper(), który zamienia tekst na wielkie litery:

{{ E.last_name | upper }}

Przydatne materiały referencyjne:

5. Lista dostępnych pól generatora dokumentów

KANDYDAT (C)

Uwaga: W wersji 2.27 kod CND został zastąpiony krótszym kodem C, podobnie kody ADR_P, ADR_B, PRJ zastąpiono krótszymi kodami A, AB, PR.

IDTypWymag.Opis
first_nameTEXTTImię
last_nameTEXTTNazwisko
middle_nameTEXTNDrugie imię
maiden_nameTEXTNNazwisko panieńskie
birth_dateDATENData urodzenia
place_of_birthTEXTNMiejsce urodzenia
peselTEXT(11)NNumer PESEL (specyficzny dla Polski)
driving_licenceTEXTNNumer prawa jazdy
personal_emailTEXTNEmail prywatny
personal_phoneTEXTNTelefon prywatny
AENTITYNAdres prywatny (z ‘primary_postal_address’)
business_emailTEXTNEmail biznesowy
business_phoneTEXTNTelefon biznesowy
PRENTITYNProjekt, którego dotyczy Boarding
ABENTITYNAdres pobytu biznesowego (z ‘contact_address’)
badr_infoLONGTEXTNAdres pobytu biznesowego – extra info (z ‘contact_address_information’)
additional_infoLONGTEXTNDodatkowe informacje
ibanTEXTNNumer IBAN
contract_start_dateDATENData rozpoczęcia umowy
contract_end_dateDATENData zakończenia umowy
ratingINTNOcena kandydata
rating_commentLONGTEXTNKomentarz do oceny kandydata
nationalityTEXTNNarodowość
mother_nameTEXTNImię matki
father_nameTEXTNImię ojca
XENTITYNDodatkowe pola własne w Kandydaci – patrz opis niżej

PRACOWNIK (E)

Uwaga: W wersji 2.27 kod EMP został zastąpiony krótszym kodem E, podobnie kody ADR_P, ADR_B, PRJ zastąpiono krótszymi kodami A, AB, PR

IDTypWymag.Opis
idINTTIdentyfikator pracownika (worker)
stateTEXTTJeden ze stanów z listy ‘worker_status’:
(0, ‘Prospect’),
(1, ‘On-Boarding’),
(2, ‘Hired’),
(3, ‘Resigning’),
(4, ‘Off-Boarding’),
(5, ‘Blocked’),
first_nameTEXTTImię
last_nameTEXTTNazwisko
middle_nameTEXTNDrugie imię
maiden_nameTEXTNNazwisko panieńskie
sexLISTNJedna z wartości:
– Mężczyzna
– Kobieta
– Pozostałe
– Nieokreślona
birth_dateDATENData urodzenia
peselTEXT(11)NNumer PESEL (specyficzny dla Polski)
driving_licenceTEXTNNumer prawa jazdy
personal_emailTEXTNEmail prywatny
personal_phoneTEXTNTelefon prywatny
AENTITYNPersonal/Private address (z ‘primary_postal_address’)
business_emailTEXTNEmail biznesowy
business_phoneTEXTNTelefon biznesowy
PRENTITYNProjekt, którego dotyczy Boarding
ABENTITYNBusiness address of stay (z ‘contact_address’)
badr_infoLONGTEXTNBusiness address extra info (z ‘contact_address_information’)
additional_infoLONGTEXTNDodatkowe informacje
place_of_birthTEXTNMiejsce urodzenia
country_birthTEXTNKraj urodzenia
identity_doc_expiryDATENData wygaśnięcia dokumentu tożsamości
identity_doc_numTEXTNNumer dokumentu tożsamości
identity_doc_typeLISTNTyp dokumentu tożsamości, jedna z wartości:
– Dowód osobisty
– Paszport
– Prawo jazdy
– Inny
citizenshipTEXTNObywatelstwo
nationalityTEXTNNarodowość
ibanTEXTNNumer IBAN
contract_start_dateDATENData rozpoczęcia umowy
contract_end_dateDATENData zakończenia umowy
ratingINTNOcena pracownika
rating_commentLONGTEXTNKomentarz do oceny pracownika
external_id_1INTNZewnętrzne ID 1
external_id_2INTNZewnętrzne ID 1
mother_nameTEXTNImię matki
father_nameTEXTNImię ojca
XENTITYNDodatkowe pola własne w Pracownicy – patrz opis niżej

ADRES (A)

Uwaga: Do wersji 2.26 włącznie obowiązuje kod modułu “ADR” (od 2.27 krótszy “A”).

IDTypWymag.Opis
idINTTIdentyfikator klienta
stateTEXTTJeden ze stanów z listy:
(0, ‘Deleted’),
(1, ‘Active’),
streetTEXTNUlica
street_nbTEXTNNumer domu
property_numberTEXTNNumer mieszkania
zip_codeTEXTNKod pocztowy
cityTEXTNMiasto
regionTEXTNRegion
countryTEXTNKraj (tekstowo)
descriptionTEXTNOpis

BOARDING (B)

Uwaga: Do wersji 2.26 włącznie obowiązuje kod modułu “BRD” (od 2.27 krótszy “B”).

IDTypWymag.Opis
idINTTIdentyfikator boarding
stateTEXTTJeden ze stanów z listy ‘boarding_status’:
(0, ‘Prospect’),
(1, ‘On-Boarding’),
(2, ‘Waiting’),
(3, ‘Hired’),
(4, ‘Changing’),
(5, ‘Transitioning’),
(6, ‘Resigning’),
(7, ‘Off-Boarding’),
(8, ‘Terminated’),
(9, ‘Blocked’),
(10, ‘Historical’),
onboarding_dateDATENData onboarding (z Boarding)
offboarding_dateDATENData offboarding (z Boarding)
start_dateDATETData początku
finish_dateDATENData końca
contract_start_dateDATENData początku umowy
contract_end_dateDATENData końca umowy
PRENTITYNProjekt, którego dotyczy Boarding
EENTITYTPracownik, którego dotyczy Boarding

PROJEKT (PR)

Uwaga: Do wersji 2.26 włącznie obowiązuje kod modułu “PRJ” (od 2.27 krótszy “PR”).

IDTypWymag.Opis
idINTTIdentyfikator projektu
stateTEXTTJeden ze stanów z listy:
ACTIVE = (0, “Active”)
INACTIVE = (1, “Inactive”)
DELETED = (2, “Deleted”)
nameTEXTTNazwa projektu
start_dateDATENData startu projektu
end_dateDATENData końca projektu
CLENTITYNPowiązana encja klienta, do którego należy Projekt

KLIENT (CL)

Uwaga: Do wersji 2.26 włącznie obowiązuje kod modułu “CLI” (od 2.27 krótszy “CL”).

IDTypWymag.Opis
idINTTIdentyfikator Klienta
stateTEXTTJeden ze stanów z listy:
(1, ‘Lead’),
(2, ‘Opportunity’),
(3, ‘Contracted’),
(4, ‘Rejected’),
(5, ‘Closed’)
nameTEXTTNazwa klienta
codeTEXTNKod klienta
ADRENTITYNPowiązana encja adresu głównego klienta

FIRMA (CO)

IDTypWymag.Opis
CO.nameTEXTTNazwa firmy
CO.contact_number1TEXTNPierwszy numer telefonu
CO.contact_number2TEXTNDrugi numer telefonu
CO.emailTEXTNAdres email
CO.contact_wwwTEXTNAdres strony internetowej
CO.nipTEXTNNIP
CO.KRSTEXTNKRS
CO.regonTEXTNREGON
CO.streetTEXTNNazwa ulicy
CO.street_nbTEXTNNumer ulicy
CO.property_numberTEXTNNumer budynku
CO.zip_codeTEXTNKod pocztowy
CO.cityTEXTNMiasto
CO.regionTEXTNRegion
CO.countryTEXTNKraj (tekstowo)
CO.descriptionTEXTNOpis
CO.disctrictTEXTNPowiat
CO.sub_disctrictTEXTNGmina

6. Pola własne

Pola własne w Pracownicy oraz Kandydaci

Na platformie eTeczki eFOB w encjach KANDYDAT (C) oraz PRACOWNIK (E) jest możliwe dodawanie niestandardowych pól własnych. Dostęp do ich wartości jest możliwy poprzez znacznik X.

Przykłady użycia

  • E.X.pozycja – wartość pola niestandardowego LIST ‘pozycja’ na pracowniku
  • C.X.referencje – wartość pola niestandardowego TEXT ‘referencje’ na kandydacie

Pola własne z Excel w generatorze dokumentów

Przy wykorzystaniu funkcjonalności generowania dokumentów z pliku Excel (opisane m.in. w rozdziale Generowanie dokumentów – eFOB eTeczka) dla generatora dostępne są dowolne pola dodatkowe nazw kolumn pobrane z nagłówka – z pierwszej linii danych załączonego Excel.

UWAGA: nazwy kolumn (nagłówek) powinny mieć jednoznaczne unikalne nazwy, bez spacji i polskich znaków

7. Pola i funkcje specjalne

Funkcja Word IF {}

Celem obsłużenia bardziej złożonych konstrukcji możliwe jest warunkowanie wyświetlania tekstu, jak i innych MERGEFIELDs dzięki użyciu funkcji IF {}. Warunek może zawierać zagnieżdżone pola. Spacje są OBOWIĄZKOWE przed i po operatorze (<, <>, >, <=, >=, =). Wartości najlepiej umieszczać w cudzysłowie. Dla operatorów <> i = obsługiwane są wyrażenia regularne w stylu Microsoft (?, *).

Przykład użycia

  • { IF { MERGEFIELD reason } <> “” “Powód zmiany umowy: { MERGEFIELD reason }.” } -> doda paragraf, tylko jeśli pole ‘reason’ będzie niepuste
  • { IF { MERGEFIELD podwyzka } = “Tak” “Pracownik otrzyma podwyżkę w wysokości: { MERGEFIELD salary_increase }.” “”} -> doda paragraf i wstawi tekst plus wartość z pola ‘salary_increase’, tylko jeśli pole ‘podwyzka’ będzie ustawione na “Tak”

Obsługa błędu wyświetlania “Unknown”

W niektórych wypadkach np. braku danych pola własnego instrukcje warunkowe zaczynają niepoprawnie wyświetlać tekst “UNKNOWN”. Aktualnie znanym obejściem jest dodanie sprawdzenia przy pomocy dodatkowego warunku IF, który jednocześnie deklaruje zmienną, co zapobiega błędom wyświetlania:

  • { IF { MERGEFIELD czasem_puste_pole } = “UNKNOWN” “Brak wartości.” }{ IF { MERGEFIELD czasem_puste_pole }” = “Podwyzka” { MERGEFIELD salary_increase } }

Pola dat generatora dokumentów

Jeśli generator w polach MailMerge generator napotka pola o specyficznych nazwach, to podmieni je wg opisu ich działania.

IDTypWymag.Opis
TODAYTEXTNData systemowa (“Dziś”) formatowana do tekstu jako RRRR-MM-DD (np. 2025-12-22).
DOC_DATETEXTN„Data wystawienia” pobrana z okna „Generuj dokumenty” formatowana do tekstu jako RRRR-MM-DD

Funkcja PLN

Funkcja PLN(), pozwala na zwrócenie wartości ‘słownie w złotych polskich’ bazując na podanej wartości.

Składnia

  • PLN(pole)
  • Jeśli wartość dla pole jest tekstem usuwa spacje, standaryzuje ‘przecinki’ oraz próbuje przekonwertować wartość na liczbę zmiennoprzecinkową (float) – jeśli to się nie uda (np. niepoprawny format), zwraca pusty string.
  • W przypadku wartości 0 zwraca “zero złotych 00/100”.
  • Rozdziela wartość na złote (część całkowita) i grosze (dwie cyfry po przecinku, zaokrąglone).
  • Obsługuje liczby ujemne – dodaje słowo “minus”.
  • Część złotowa jest zapisywana słownie po polsku (np. “dwa tysiące pięćset złotych”), maksymalnie obsługiwane są “miliardy”).
  • Grosze są zawsze wyświetlane jako liczba dwucyfrowa po ukośniku, np. “45/100”, “00/100”.
  • Funkcja dobiera poprawną formę słowa “złoty” w zależności od liczby (złoty, złote, złotych).
  • Wynik końcowy to tekst w formacie: “<kwota słownie> <złoty/złote/złotych> <grosze>/100”, np. “trzy złote 02/100”.

Przykłady użycia

  • «PLN(E.salary)» -> dla wartości pola E.salary == 9600.50 zwróci wartość ‘dziewięć tysięcy sześćset 50/100’
  • «PLN(bonus)» -> dla wartości pola bonus == 15000 zwróci wartość ‘piętnaście tysięcy 00/100’

Funkcja SWITCH

Funkcja SWITCH(), wzorowana na koncepcji znanej z Excel (SWITCH function – Microsoft Support), pozwala na zwrócenie określonej wartości w zależności od wyniku porównania podanego wyrażenia z zestawem warunków. Ułatwia pisanie czytelnych reguł biznesowych do generatora dokumentów.

Składnia

  • SWITCH(pole, warunek1, wartość1, warunek2, wartość2, …, [opcjonalne] wartość_domyślna)
  • Limit długości pola MergeField wynosi 255 znaków, zatem długość całej funkcji SWITCH musi mieścić się w tym limicie
  • Wszystkie pola są rozdzielane przecinkami, zaś sama nazwa funkcji jest pisana z dużej litery z nawiasami SWITCH()
  • pole – musi odnosić się do pól wg schematu nazewniczego opisanego wyżej
  • warunekX oraz wartośćX – domyślnie zostaje ucięte z obydwu stron ze spacji
  • warunekX oraz wartośćX – w polach tych nie można używać znaków ” i ,
  • wartość_domyślna – jest polem opcjonalnym

Przykłady użycia

  • «SWITCH(E.A.city,Warszawa,Warsaw_,Kraków,Cracow,Inne miasto»_ -> zmieni nazwę miasta z polskiego na angielskie
  • «SWITCH(E.X.pozycja,E,Pracownik,MGR,Manager» -> zmieni nazwę pola własnego ‘pozycja’ na odpowiednie
  • «SWITCH(E.X.bonus,0,Brak,1,Przyznany,Brak informacji» -> zdekoduje pole własne ‘bonus’ na odpowiednie wartości wraz z wartością domyślną ‘Brak informacji’

Funkcja ER

Funkcja ER().<> pozwala na zwrócenie wartości danego atrybutu konkretnego Pracodawcy, o ile znajduje się on w słowniku Pracodawców, niezależnie od tego, czy ma status ‘Aktywny’ czy nie.

Składnia

  • ER(pole).<operacja>
  • Jeśli wartość dla pole jest tekstem usuwa spacje oraz normalizuje wielkie i małe litery
  • Posługuje się pełną nazwą pracodawcy jako kluczem
  • Wykonuje jedną z poniższych operacji:
    • A – zwraca adres Pracodawcy
    • P – zwraca nazwę Pracodawcy do druku
    • S – zwraca krótką nazwę Pracodawcy
    • NIP – zwraca numer NIP Pracodawcy
    • REGON – zwraca numer REGON Pracodawcy
    • KRS – zwraca numer KRS Pracodawcy
    • PESEL – zwraca numer PESEL Pracodawcy
  • W przypadku błędnej składni bądź braku danego Pracodawcy w bazie danych zwrócony zostanie pusty ciąg znaków

Przykłady użycia

Załóżmy istnienie w bazie danych Pracodawcy o poniższych danych:

  • pełna nazwa: Moja firma

  • adres: ul. Uliczna 1, 00-000, Miasto

  • krótka nazwa: Moja

  • NIP: 1169595501

  • REGON: 553277064

  • KRS: 0000123456

  • PESEL: 17020866246

  • «ER(firma).A» -> dla wartości pola firma == ‘Moja firma’ zwróci wartość ‘ul. Uliczna 1, 00-000, Miasto’

  • «ER(firma).S» -> dla wartości pola firma == ‘MOJA FIRMA’ zwróci wartość ‘Moja’

  • «ER(firma).NIP» -> dla wartości pola firma == ‘moja firma’ zwróci wartość ‘1169595501’

Funkcja ER.ALL

Funkcja ER.ALL.<> pozwala na zwrócenie wartości danego atrybutu wszystkich Pracodawców znajdujących się on w słowniku Pracodawców mających status ‘Aktywny’. Ich dane zostaną wylistowane oddzielone od siebie średnikiem oraz nową linią.

Składnia

  • ER.ALL.<operacja>
  • Wykonuje jedną z poniższych operacji:
    • A – zwraca adresy Pracodawców
    • P – zwraca nazwy Pracodawców do druku
    • S – zwraca krótkie nazwy Pracodawców
    • NIP – zwraca numery NIP Pracodawców
    • REGON – zwraca numery REGON Pracodawców
    • KRS – zwraca numery KRS Pracodawców
    • PESEL – zwraca numery PESEL Pracodawców
  • W przypadku błędnej składni bądź braku danych u Pracodawcy w bazie danych zwrócony zostanie pusty ciąg znaków.

Przykłady użycia

Załóżmy istnienie w bazie danych dwóch Pracodawców o poniższych danych:

Pracodawca 1:

  • pełna nazwa: Moja firma
  • adres: ul. Uliczna 1, 00-000, Miasto
  • krótka nazwa: Moja
  • NIP: 1169595501
  • REGON: 553277064
  • KRS: 0000123456
  • PESEL: 17020866246

Pracodawca 2:

  • pełna nazwa: Twoja firma

  • adres: ul. Chodnikowa 2, 00-000, Miasto

  • krótka nazwa:

  • NIP:

  • REGON:

  • KRS:

  • PESEL: 58120384647

  • «ER.ALL.A_»_ -> zwróci wartość:

‘ul. Uliczna 1, 00-000, Miasto;

ul. Chodnikowa 2, 00-000, Miasto’

  • «ER.ALL.S_»_ -> zwróci wartość:

‘Moja’