DocToPdf - wbudowane funkcje: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
| (Nie pokazano 21 pośrednich wersji utworzonych przez tego samego użytkownika) | |||
| Linia 1: | Linia 1: | ||
'''1. Wstawienie zmiennej''' | '''1. Wstawienie zmiennej''' | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| '''Opis funkcji''' || Celem funkcji jest bezpośrednie wstawienie wartości zmiennej z danych wejściowych do dokumentu. | | '''Opis funkcji''' || Celem funkcji jest bezpośrednie wstawienie wartości zmiennej z danych wejściowych do dokumentu. | ||
|- | |- | ||
| '''Format funkcji''' || ${'''pole'''} | | '''Format funkcji''' || ${'''pole'''} | ||
| Linia 9: | Linia 9: | ||
'''pole''' - nazwa pola z danych wejściowych. W przypadku excela jest to nazwa kolumny. | '''pole''' - nazwa pola z danych wejściowych. W przypadku excela jest to nazwa kolumny. | ||
|- | |- | ||
| '''Przykład wywołania''' || ${adres } | | '''Przykład wywołania''' || ${adres } → ul. wielka 13/5 | ||
|} | |} | ||
'''2. Zamiana liczby na wartość kwotową (inwords)''' | '''2. Zamiana liczby na wartość kwotową (inwords)''' | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| '''Nazwa funkcji''' || inwords | | '''Nazwa funkcji''' || inwords | ||
|- | |- | ||
| '''Opis funkcji''' || Funkcja zamienia wartość typu float na słowną wartość kwoty z dopisaniem walut. | | '''Opis funkcji''' || Funkcja zamienia wartość typu float na słowną wartość kwoty z dopisaniem walut. | ||
Język ustalany z poziomu wywołania job w api. (tylko język polski, pozostałe języki wymagają dodania parametru do funkcji w docx) | Język ustalany z poziomu wywołania job w api. (tylko język polski, pozostałe języki wymagają dodania parametru do funkcji w docx) | ||
|- | |- | ||
| '''Format funkcji''' || ${inwords('''number, language, currency''')} | | '''Format funkcji''' || ${inwords('''number, language, currency''')} | ||
| Linia 29: | Linia 29: | ||
'''currency''' (parametr opcjonalny) - waluta tłumaczenia, domyślna wartość USD (parametr opcjonalny) | '''currency''' (parametr opcjonalny) - waluta tłumaczenia, domyślna wartość USD (parametr opcjonalny) | ||
|- | |- | ||
| '''Przykład wywołania''' || ${inwords('21,20')} → dwadzieścia jeden złotych dwadzieścia groszy | | '''Przykład wywołania''' || ${inwords('21,20')} → dwadzieścia jeden złotych dwadzieścia groszy | ||
| Linia 37: | Linia 37: | ||
${inwords('134,07', ‘pl’, ‘PLN’)} → sto trzydzieści cztery złote siedem groszy | ${inwords('134,07', ‘pl’, ‘PLN’)} → sto trzydzieści cztery złote siedem groszy | ||
|- | |- | ||
| '''Obsługiwane lokalizacje''' || Funkcja konwertuje | | '''Obsługiwane lokalizacje''' || Funkcja konwertuje kwotę zapisaną liczbą na zapis słowny. Funkcja wspiera poniższe lokalizacje. | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Język !! Identyfikator !! Liczba !! Waluta | ! Język !! Identyfikator !! Liczba !! Waluta | ||
|- | |- | ||
| Belgian French || fr_BE || + || - | | Belgian French || fr_BE || + || - | ||
|- | |- | ||
| Brazilian Portuguese || pt_BR || + || + | | Brazilian Portuguese || pt_BR || + || + | ||
|- | |- | ||
| Bulgarian || bg || + || - | | Bulgarian || bg || + || - | ||
|- | |- | ||
| Czech || cs || + || - | | Czech || cs || + || - | ||
|- | |- | ||
| Danish || dk || + || + | | Danish || dk || + || + | ||
|- | |- | ||
| Dutch || nl || + || - | | Dutch || nl || + || - | ||
|- | |- | ||
| English || en || + || + | | English || en || + || + | ||
|- | |- | ||
| Estonian || et || + || - | | Estonian || et || + || - | ||
|- | |- | ||
| Georgian || ka || + || + | | Georgian || ka || + || + | ||
|- | |- | ||
| German || de || + || + | | German || de || + || + | ||
|- | |- | ||
| French || fr || + || + | | French || fr || + || + | ||
|- | |- | ||
| Hungarian || hu || + || + | | Hungarian || hu || + || + | ||
|- | |- | ||
| Indonesian || id || + || - | | Indonesian || id || + || - | ||
|- | |- | ||
| Italian || it || + || - | | Italian || it || + || - | ||
|- | |- | ||
| Lithuanian || lt || + || + | | Lithuanian || lt || + || + | ||
|- | |- | ||
| Latvian || lv || + || - | | Latvian || lv || + || - | ||
|- | |- | ||
| Malay || ms || + || - | | Malay || ms || + || - | ||
|- | |- | ||
| Polish || pl || + || + | | Polish || pl || + || + | ||
|- | |- | ||
| Romanian || ro || + || + | | Romanian || ro || + || + | ||
|- | |- | ||
| Slovak || sk || + || - | | Slovak || sk || + || - | ||
|- | |- | ||
| Spanish || es || + || + | | Spanish || es || + || + | ||
|- | |- | ||
| Russian || ru || + || + | | Russian || ru || + || + | ||
|- | |- | ||
| Swedish || sv || + || - | | Swedish || sv || + || - | ||
|- | |- | ||
| Turkish || tr || + || + | | Turkish || tr || + || + | ||
|- | |- | ||
| Turkmen || tk || + || + | | Turkmen || tk || + || + | ||
|- | |- | ||
| Ukainian || ua || + || + | | Ukainian || ua || + || + | ||
|- | |- | ||
| Yoruba || yo || + || + | | Yoruba || yo || + || + | ||
|- | |- | ||
|} | |} | ||
|} | |} | ||
'''3. Formatowanie liczby (format)''' | '''3. Formatowanie liczby (format)''' | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| Nazwa funkcji || '''format''' | | Nazwa funkcji || '''format''' | ||
|- | |- | ||
| Opis funkcji || Funkcja przekształca liczbę zmiennoprzecinkową na format waluty określonej lokalizacji. | | Opis funkcji || Funkcja przekształca liczbę zmiennoprzecinkową na format waluty określonej lokalizacji. | ||
|- | |- | ||
| Format funkcji || ${format('''liczba, lokalizacja''')} | | Format funkcji || ${format('''liczba, lokalizacja''')} | ||
| Linia 113: | Linia 113: | ||
np. ${format(brutto)} | np. ${format(brutto)} | ||
'''lokalizacja''' (parametr opcjonalny) - parametr odpowiedzialny za format wyjściowy przekształcenia zmiennej | '''lokalizacja''' (parametr opcjonalny) - parametr odpowiedzialny za format wyjściowy przekształcenia zmiennej liczbowej na wartość walutową. | ||
Parametr ten musi być zgodny z "Powszechnym repozytorium danych lokalizacji" (CLDR - Unicode Common Locale Data Repository) wykorzystywanych | |||
przez International Components for Unicode (ICU). Obsługiwane formaty dostępne na http://www.localeplanet.com/icu/ , np. pl, pl_PL, en, en_GB, en_US. | |||
Obsługiwane formaty dostępne na http://www.localeplanet.com/icu/ , np. pl, pl_PL, en, en_GB, en_US. | |||
Domyślna wartość en_US. | Domyślna wartość en_US. | ||
Domyślnie formatowanie: do dwóch miejsc po przecinku | Domyślnie formatowanie: do dwóch miejsc po przecinku | ||
|- | |- | ||
| Przykład wywołania || ${format(3000.000)} → 3,000.00 | | Przykład wywołania || ${format(3000.000)} → 3,000.00 | ||
| Linia 131: | Linia 129: | ||
${format(100000000,'hi_IN')} → 10,00,00,000.00 | ${format(100000000,'hi_IN')} → 10,00,00,000.00 | ||
|} | |} | ||
'''4. Kod kreskowy, kod QR (barcode)''' | |||
{| class="wikitable" | |||
|- | |||
| Nazwa funkcji || '''barcode''' | |||
|- | |||
| Opis funkcji || Funkcja wstawia obraz z kodem kreskowym podanym w parametrze. | |||
|- | |||
| Format funkcji || ${barcode('''parametr, typ kodu, szerokość, wysokość''')} | |||
gdzie: | |||
'''parametr''' - wartość tekstową lub liczbowa. Parametr może być zmienną pobraną z danych wejściowych. | |||
'''typ kodu''' - typ kodu kreskowego. Typ kodu zgodny z jest listą podaną poniżej. | |||
'''szerokość''' - szerokość obrazu, który ma zawierać kod kreskowy. Szerokość podawana jest pikselach (px). | |||
'''wysokość''' - wysokość obrazu, który ma zawierać kod kreskowy. Wysokość podawana jest pikselach (px). | |||
Lista obsługiwanych typów kodów kreskowych: | |||
* auspost : AusPost 4 State Customer Code | |||
* azteccode : Aztec Code | |||
* azteccodecompact : Compact Aztec Code | |||
* aztecrune : Aztec Runes | |||
* bc412 : BC412 | |||
* channelcode : Channel Code | |||
* codablockf : Codablock F | |||
* code11 : Code 11 | |||
* code128 : Code 128 | |||
* code16k : Code 16K | |||
* code2of5 : Code 25 | |||
* code32 : Italian Pharmacode | |||
* code39 : Code 39 | |||
* code39ext : Code 39 Extended | |||
* code49 : Code 49 | |||
* code93 : Code 93 | |||
* code93ext : Code 93 Extended | |||
* codeone : Code One | |||
* coop2of5 : COOP 2 of 5 | |||
* daft : Custom 4 state symbology | |||
* databarexpanded : GS1 DataBar Expanded | |||
* databarexpandedcomposite : GS1 DataBar Expanded Composite | |||
* databarexpandedstacked : GS1 DataBar Expanded Stacked | |||
* databarexpandedstackedcomposite : GS1 DataBar Expanded Stacked Composite | |||
* databarlimited : GS1 DataBar Limited | |||
* databarlimitedcomposite : GS1 DataBar Limited Composite | |||
* databaromni : GS1 DataBar Omnidirectional | |||
* databaromnicomposite : GS1 DataBar Omnidirectional Composite | |||
* databarstacked : GS1 DataBar Stacked | |||
* databarstackedcomposite : GS1 DataBar Stacked Composite | |||
* databarstackedomni : GS1 DataBar Stacked Omnidirectional | |||
* databarstackedomnicomposite : GS1 DataBar Stacked Omnidirectional Composite | |||
* databartruncated : GS1 DataBar Truncated | |||
* databartruncatedcomposite : GS1 DataBar Truncated Composite | |||
* datalogic2of5 : Datalogic 2 of 5 | |||
* datamatrix : Data Matrix | |||
* datamatrixrectangular : Data Matrix Rectangular | |||
* dotcode : DotCode | |||
* ean13 : EAN-13 | |||
* ean13composite : EAN-13 Composite | |||
* ean14 : GS1-14 | |||
* ean2 : EAN-2 (2 digit addon) | |||
* ean5 : EAN-5 (5 digit addon) | |||
* ean8 : EAN-8 | |||
* ean8composite : EAN-8 Composite | |||
* flattermarken : Flattermarken | |||
* gs1-128 : GS1-128 | |||
* gs1-128composite : GS1-128 Composite | |||
* gs1-cc : GS1 Composite 2D Component | |||
* gs1datamatrix : GS1 Data Matrix | |||
* gs1datamatrixrectangular : GS1 Data Matrix Rectangular | |||
* gs1northamericancoupon : GS1 North American Coupon | |||
* gs1qrcode : GS1 QR Code | |||
* hanxin : Han Xin Code | |||
* hibcazteccode : HIBC Aztec Code | |||
* hibccodablockf : HIBC Codablock F | |||
* hibccode128 : HIBC Code 128 | |||
* hibccode39 : HIBC Code 39 | |||
* hibcdatamatrix : HIBC Data Matrix | |||
* hibcdatamatrixrectangular : HIBC Data Matrix Rectangular | |||
* hibcmicropdf417 : HIBC MicroPDF417 | |||
* hibcpdf417 : HIBC PDF417 | |||
* hibcqrcode : HIBC QR Code | |||
* iata2of5 : IATA 2 of 5 | |||
* identcode : Deutsche Post Identcode | |||
* industrial2of5 : Industrial 2 of 5 | |||
* interleaved2of5 : Interleaved 2 of 5 (ITF) | |||
* isbn : ISBN | |||
* ismn : ISMN | |||
* issn : ISSN | |||
* itf14 : ITF-14 | |||
* japanpost : Japan Post 4 State Customer Code | |||
* kix : Royal Dutch TPG Post KIX | |||
* leitcode : Deutsche Post Leitcode | |||
* matrix2of5 : Matrix 2 of 5 | |||
* maxicode : MaxiCode | |||
* micropdf417 : MicroPDF417 | |||
* microqrcode : Micro QR Code | |||
* msi : MSI Modified Plessey | |||
* onecode : USPS Intelligent Mail | |||
* pdf417 : PDF417 | |||
* pdf417compact : Compact PDF417 | |||
* pharmacode : Pharmaceutical Binary Code | |||
* pharmacode2 : Two-track Pharmacode | |||
* planet : USPS PLANET | |||
* plessey : Plessey UK | |||
* posicode : PosiCode | |||
* postnet : USPS POSTNET | |||
* pzn : Pharmazentralnummer (PZN) | |||
* qrcode : QR Code | |||
* rationalizedCodabar : Codabar | |||
* raw : Custom 1D symbology | |||
* royalmail : Royal Mail 4 State Customer Code | |||
* sscc18 : SSCC-18 | |||
* symbol : Miscellaneous symbols | |||
* telepen : Telepen | |||
* telepennumeric : Telepen Numeric | |||
* ultracode : Ultracode | |||
* upca : UPC-A | |||
* upcacomposite : UPC-A Composite | |||
* upce : UPC-E | |||
* upcecomposite : UPC-E Composite | |||
|- | |||
| Przykład wywołania || ${barcode(wartość kodu kreskowego, typ kodu, szerokość, wysokość)} | |||
${barcode(CodeCode128, 'code128', '80px', '80px')} | |||
${barcode(CodeEan13, 'ean13', '80px', '80px')} | |||
${barcode(CodeInterleaved2of5, 'interleaved2of5', '210px', '210px')} | |||
${barcode(CodeQrcode, 'qrcode', '210px', '210px')} | |||
|} | |||
'''5. Obraz z zewnętrznego źródła (image)''' | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| Nazwa funkcji || | | Nazwa funkcji || '''image''' | ||
|- | |- | ||
| Opis funkcji || | | Opis funkcji || Funkcja wstawia obraz z podanego źródła (adres url) | ||
|- | |- | ||
| Format funkcji || | | Format funkcji || ${image('''url, szerokość, wysokość, ratio''')} | ||
|- | |||
| Przykład wywołania || | gdzie: | ||
'''url''' - adres url wstawianego obrazu. Parametr może być zmienną pobraną z danych wejściowych. | |||
'''szerokość''' - szerokość wstawianego obrazu. Szerokość podawana jest miarach: cm, mm, in, pt, pc, px, %, em, ex. | |||
'''wysokość''' - wysokość wstawianego obrazu. Wysokość podawana jest pikselach cm, mm, in, pt, pc, px, %, em, ex. | |||
'''ratio''' - przyjmuje wartości true/false służy do włączenia obsugi proporcji obrazu. Domyślnie parametr ustawiony na false. | |||
Lista obsługiwanych typów obrazów: | |||
* Windows Enhanced Metafile (*.emf) | |||
* Windows Metafile (*.wmf) | |||
* JPEG File Interchange Format(*.jpg; *.jpeg; *.jfif; *.jpe) | |||
* Portable Network Graphics (*.png) | |||
* Windows Bitmap (*.bmp; *.dib; *.rle; *.bmz) | |||
* Graphics Interchange Format (*.gif; *.gfa) | |||
* Compressed Windows Enhanced Metafile (*.emz) | |||
* Compressed Windows Metafile (*.wmz) | |||
* Compressed Macintosh PICT (*.pcz) | |||
* Tag Image File Format (*.tif; *.tiff) | |||
* Computer Graphics Metafile (*.cgm) | |||
* Encapsulated Postscript (*.eps) | |||
* Macintosh PICT (*.pct; *.pict) | |||
* WordPerfect Graphics (*.wpg) | |||
|- | |||
| Przykład wywołania || ${image(UserLogo1)} | |||
${image(UserLogo2, '200')} | |||
${image(UserLogo3, '100px', '100px')} | |||
${image('https://www.google.pl/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png', '100px', '100px')} | |||
${image(UserLogo3, '100px', '800px', 'true')} | |||
|} | |} | ||
'''6. Instrukcje warunkowe (if)''' | |||
{| class="wikitable" | |||
|- | |||
| Nazwa funkcji || '''if''' | |||
|- | |||
| Opis funkcji || Funkcja wykonuję podaną instrukcję warunkową. Jeśli instrukcja kończy się wynikiem true, to objęty funkcją | |||
fragment tekstu jest wstawiany do dokumentu. W przeciwnym wypadku fragment jest usuwany. | |||
|- | |||
| Format funkcji || ${if('''warunek''')} tekst, który ma się wyświetlić w przypadku gdy parametr = true ${endif} | |||
gdzie: | |||
'''warunek''' - instrukcja warunkową zgodną z biblioteką Symfony Expression Language. | |||
Składnia opisana jest na stronie: https://symfony.com/doc/current/components/expression_language/syntax.html. | |||
W instrukcja warunkowych można wykorzystywać zmienne pobrane z danych wejściowych | |||
|- | |||
| Przykład wywołania || ${if(Recipient_ZIP_Code=='60-650')} | |||
Treść dla adresatów posiadających kod 60-650 | |||
${endif} | |||
|} | |||
'''7. Tworzenie tabel w dokumencie (RECORDSET)''' | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| Nazwa funkcji || | | Nazwa funkcji || '''RECORDSET''' | ||
|- | |- | ||
| Opis funkcji || | | Opis funkcji || Funkcja wstawia w dokumencie tabelę z rekordami pobranymi z danych wejściowych. | ||
|- | |- | ||
| Format funkcji || | | Format funkcji || ${recordset(pole, ''''nazwa'''')} | ||
|- | |||
| Przykład wywołania || | gdzie: | ||
'''recordset''' - stała nazwa wykorzystywana do funkcji | |||
'''pole''' - nazwa pola z danych wejściowych | |||
'''nazwa''' (parametr opcjonalny) - nazwa recordsetu | |||
|- | |||
| Przykład wywołania || | |||
Przykład tabeli: | |||
[[Grafika:DocToPdf_7_1.JPG|800px|center]] | |||
Przykładowe dane wejściowe: | |||
[[Grafika:DocToPdf_7_2.JPG|800px|center]] | |||
Wynik działania funckji | |||
[[Grafika:DocToPdf_7_3.JPG|800px|center]] | |||
|- | |||
| Przykład wywołania || | |||
${ recordset (lp)} | |||
${recordset(lp, ‘harmonogram’)} | |||
${format(recordset(kapital, ‘harmonogram’), ‘pl’)} | |||
${format(recordset(kapital, ‘harmonogram’) + recordset(finans, ‘harmonogram’), ‘pl’)} | |||
|} | |} | ||
{| class="wikitable" style="width: 775px; height: 112px;" | |||
|- style="height: 28px;" | |||
| style="width: 134.781px; height: 28px;" | Nazwa funkcji || style="width: 614.219px; height: 28px;" | '''rowNumber<span style="color: rgb(224, 62, 45);" > Działa tylko w Recordsecie</span>''' | |||
|- style="height: 28px;" | |||
| style="width: 134.781px; height: 28px;" | Opis funkcji || style="width: 614.219px; height: 28px;" | Funkcja zwraca numer wiersza | |||
|- style="height: 28px;" | |||
| style="width: 134.781px; height: 28px;" | Format funkcji || style="width: 614.219px; height: 28px;" | ${rowNumber('''zera''')} | |||
gdzie: | |||
'''zera '''- liczba zer które będą dopełniane numerem wiersza np. | |||
wartość domyślna 1 | |||
3 - zwróci 001<br>4 - zwróci 0001 | |||
|- style="height: 28px;" | |||
| | | style="width: 134.781px; height: 28px;" | Przykład wywołania || style="width: 614.219px; height: 28px;" | ${rowNumber(1)} | ||
| | |||
| Przykład wywołania || | ${rowNumber(2)} | ||
${rowNumber(3)} | |||
|} | |} | ||
'''''' | |||
'''8. Funkcje arytmetyczne''' | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| | | Opis funkcji || Funkcja umożliwia wykonywanie wyrażeń za pomocą expression language | ||
|- | |- | ||
| | | Format funkcji || ${'''wyrażenie'''} | ||
gdzie: | |||
|- | |||
| Przykład wywołania || | '''wyrażenie''' - podstawowa operacja arytmetyczna, np. ${brutto * vat } | ||
|- | |||
| Przykład wywołania || ${1 + 2} → 3 | |||
${1 – 2} → -1 | |||
${2 * 2)} → 4 | |||
${4 / 2)} → 2 | |||
${4.2 + 1.2)} → 5.4 | |||
${4,2 + 1,2)} → 5.4 | |||
${evaluate((4 + 2) * 3)} → 18 | |||
${ZmiennaA} = 12 | |||
${ZmiennaA + ZmiennaB * 3} → 72 | |||
|} | |} | ||
'''9. Funkcja Teraz''' | |||
{| class="wikitable" | |||
|- | |||
| Nazwa funkcji || '''now''' | |||
|- | |||
| Opis funkcji || Funkcja zwraca obecną datę i czas w którym dokument jest generowany w formacie "Y-m-d H:i:s". | |||
|- | |||
| Format funkcji || ${now( )} | |||
|- | |||
| Przykład wywołania || ${now()} | |||
|} | |||
'''10. Funkcja formatowania czasu''' | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| Nazwa funkcji || | | Nazwa funkcji || '''dateformat''' | ||
|- | |- | ||
| Opis funkcji || | | Opis funkcji || Funkcja umożliwia konwertowanie tekstu reprezentującego znacznik czasu z jednego formatu, na inny. | ||
|- | |- | ||
| Format funkcji || | | Format funkcji || ${dateformat('''czas, format''')} | ||
gdzie: | |||
'''czas''' - tekst będący reprezentacją znacznika czasowego. Interpretuje znaczniki czasowe zapisane w formatach zrozumiałych dla klasy \DateTime | |||
'''format''' - formaty daty zgodny z wbudowanymi formatami dat dla PHP | |||
Wartości domyślne argumentów: | |||
* czas - obecny znacznik czasowy, | |||
* format - ISO8601 | |||
|- | |||
| Przykład wywołania || ${dateformat('2020-03-12 15:17:22' ,’Y-m-d H:i:sP’)} → 2020-03-12 15:17:22+00:00 | |||
{ | ${dateformat('03/12/2020 15:17:22', ’Y-m-d H:i:sP’)} → 2020-03-12 15:17:22+00:00 | ||
${dateformat('12.05.2020 15:17', ’g:ia \o\n l jS F Y’)} → 3:17pm on Tuesday 12th May 2020 | |||
${dateformat('2020-03-12 15:17:22', ’Y-m-d H:i:sP’)} → 2020-03-12 15:17:22+00:00 | |||
${dateformat(now(),’m-d-Y’)} → 07-03-2020 | |||
|} | |||
'''11. Zagnieżdżanie funkcji''' | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |||
| Opis funkcji || Podane powyżej funkcji można dowolnie zagnieżdżać, np.: | |||
|- | |||
| Opis funkcji || | ${format( recordset (kapital, ‘harmonogram’) + recordset (finans, ‘harmonogram’), ‘pl’)} | ||
gdzie funkcje realizowane są w następującej kolejności: | |||
# recordset (kapital, ‘harmonogram’) | |||
# recordset (finans, ‘harmonogram’) | |||
# recordset (kapital, ‘harmonogram’) + recordset (finans, ‘harmonogram’) | |||
# format( recordset (kapital, ‘harmonogram’) + recordset (finans, ‘harmonogram’), ‘pl’) | |||
|} | |||
'''12. Funkcja sprawdzająca czy tabela RECORDSET jest wypełniona (IsEmptyRs)''' | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| Nazwa funkcji || | | Nazwa funkcji || '''IsEmptyRs''' | ||
|- | |- | ||
| Opis funkcji || | | Opis funkcji || Funkcja zwraca prawdę lub fałsz w zależności od tego czy w pliku z danymi znajdują się wartości do wstawienia w podany RECORDSET. | ||
|- | |- | ||
| Format funkcji || | | '''Format funkcji''' || | ||
${isEmptyRs(nazwa recordsetu)} | |||
gdzie: | |||
nazwa recordsetu - w przypadku jednego recordsetu bez nazwy należy podać "" (pusty string) | |||
|- | |||
| '''Przykład wywołania''' || ${if(!isEmptyRs('nazwa'))} | |||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. | |||
${recordset(pole, 'nazwa')} | |||
{ | ${endif} | ||
|} | |} | ||
Aktualna wersja z 25 sty 2023, 11:25
1. Wstawienie zmiennej
| Opis funkcji | Celem funkcji jest bezpośrednie wstawienie wartości zmiennej z danych wejściowych do dokumentu. |
| Format funkcji | ${pole}
gdzie pole - nazwa pola z danych wejściowych. W przypadku excela jest to nazwa kolumny. |
| Przykład wywołania | ${adres } → ul. wielka 13/5 |
2. Zamiana liczby na wartość kwotową (inwords)
| Nazwa funkcji | inwords | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Opis funkcji | Funkcja zamienia wartość typu float na słowną wartość kwoty z dopisaniem walut.
Język ustalany z poziomu wywołania job w api. (tylko język polski, pozostałe języki wymagają dodania parametru do funkcji w docx) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Format funkcji | ${inwords(number, language, currency)}
gdzie number - liczba zapisana zgodnie z standardem ISO 4217. Parametr może być zmienną pobraną z danych wejściowych, np. ${inwords(brutto)} language (parametr opcjonalny) - język tłumaczenia, domyślna wartość en (parametr opcjonalny) currency (parametr opcjonalny) - waluta tłumaczenia, domyślna wartość USD (parametr opcjonalny) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Przykład wywołania | ${inwords('21,20')} → dwadzieścia jeden złotych dwadzieścia groszy
${inwords(brutto)} → dwadzieścia jeden złotych dwadzieścia groszy ${inwords('21.20', ' en','USD' )} → twenty dollars twenty cents ${inwords('134,07', ‘pl’, ‘PLN’)} → sto trzydzieści cztery złote siedem groszy | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Obsługiwane lokalizacje | Funkcja konwertuje kwotę zapisaną liczbą na zapis słowny. Funkcja wspiera poniższe lokalizacje.
|
3. Formatowanie liczby (format)
| Nazwa funkcji | format |
| Opis funkcji | Funkcja przekształca liczbę zmiennoprzecinkową na format waluty określonej lokalizacji. |
| Format funkcji | ${format(liczba, lokalizacja)}
gdzie: liczba - liczba zmiennoprzecinkowa, która podlega formatowaniu. Może być to zmienna pobrana z danych wejściowych, np. ${format(brutto)} lokalizacja (parametr opcjonalny) - parametr odpowiedzialny za format wyjściowy przekształcenia zmiennej liczbowej na wartość walutową. Parametr ten musi być zgodny z "Powszechnym repozytorium danych lokalizacji" (CLDR - Unicode Common Locale Data Repository) wykorzystywanych przez International Components for Unicode (ICU). Obsługiwane formaty dostępne na http://www.localeplanet.com/icu/ , np. pl, pl_PL, en, en_GB, en_US. Domyślna wartość en_US. Domyślnie formatowanie: do dwóch miejsc po przecinku |
| Przykład wywołania | ${format(3000.000)} → 3,000.00
${format(brutto,'pl_PL'} → 3 000,00 ${format(100000000,'hi_IN')} → 10,00,00,000.00 |
4. Kod kreskowy, kod QR (barcode)
| Nazwa funkcji | barcode |
| Opis funkcji | Funkcja wstawia obraz z kodem kreskowym podanym w parametrze. |
| Format funkcji | ${barcode(parametr, typ kodu, szerokość, wysokość)}
gdzie: parametr - wartość tekstową lub liczbowa. Parametr może być zmienną pobraną z danych wejściowych. typ kodu - typ kodu kreskowego. Typ kodu zgodny z jest listą podaną poniżej. szerokość - szerokość obrazu, który ma zawierać kod kreskowy. Szerokość podawana jest pikselach (px). wysokość - wysokość obrazu, który ma zawierać kod kreskowy. Wysokość podawana jest pikselach (px). Lista obsługiwanych typów kodów kreskowych:
|
| Przykład wywołania | ${barcode(wartość kodu kreskowego, typ kodu, szerokość, wysokość)}
${barcode(CodeCode128, 'code128', '80px', '80px')} ${barcode(CodeEan13, 'ean13', '80px', '80px')} ${barcode(CodeInterleaved2of5, 'interleaved2of5', '210px', '210px')} ${barcode(CodeQrcode, 'qrcode', '210px', '210px')} |
5. Obraz z zewnętrznego źródła (image)
| Nazwa funkcji | image |
| Opis funkcji | Funkcja wstawia obraz z podanego źródła (adres url) |
| Format funkcji | ${image(url, szerokość, wysokość, ratio)}
gdzie: url - adres url wstawianego obrazu. Parametr może być zmienną pobraną z danych wejściowych. szerokość - szerokość wstawianego obrazu. Szerokość podawana jest miarach: cm, mm, in, pt, pc, px, %, em, ex. wysokość - wysokość wstawianego obrazu. Wysokość podawana jest pikselach cm, mm, in, pt, pc, px, %, em, ex. ratio - przyjmuje wartości true/false służy do włączenia obsugi proporcji obrazu. Domyślnie parametr ustawiony na false. Lista obsługiwanych typów obrazów:
|
| Przykład wywołania | ${image(UserLogo1)}
${image(UserLogo2, '200')} ${image(UserLogo3, '100px', '100px')} ${image('https://www.google.pl/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png', '100px', '100px')} ${image(UserLogo3, '100px', '800px', 'true')} |
6. Instrukcje warunkowe (if)
| Nazwa funkcji | if |
| Opis funkcji | Funkcja wykonuję podaną instrukcję warunkową. Jeśli instrukcja kończy się wynikiem true, to objęty funkcją
fragment tekstu jest wstawiany do dokumentu. W przeciwnym wypadku fragment jest usuwany. |
| Format funkcji | ${if(warunek)} tekst, który ma się wyświetlić w przypadku gdy parametr = true ${endif}
gdzie: warunek - instrukcja warunkową zgodną z biblioteką Symfony Expression Language. Składnia opisana jest na stronie: https://symfony.com/doc/current/components/expression_language/syntax.html. W instrukcja warunkowych można wykorzystywać zmienne pobrane z danych wejściowych |
| Przykład wywołania | ${if(Recipient_ZIP_Code=='60-650')}
Treść dla adresatów posiadających kod 60-650 ${endif} |
7. Tworzenie tabel w dokumencie (RECORDSET)
| Nazwa funkcji | rowNumber Działa tylko w Recordsecie |
| Opis funkcji | Funkcja zwraca numer wiersza |
| Format funkcji | ${rowNumber(zera)}
gdzie: zera - liczba zer które będą dopełniane numerem wiersza np. wartość domyślna 1 3 - zwróci 001 |
| Przykład wywołania | ${rowNumber(1)}
${rowNumber(2)} ${rowNumber(3)} |
'
8. Funkcje arytmetyczne
| Opis funkcji | Funkcja umożliwia wykonywanie wyrażeń za pomocą expression language |
| Format funkcji | ${wyrażenie}
gdzie: wyrażenie - podstawowa operacja arytmetyczna, np. ${brutto * vat } |
| Przykład wywołania | ${1 + 2} → 3
${1 – 2} → -1 ${2 * 2)} → 4 ${4 / 2)} → 2 ${4.2 + 1.2)} → 5.4 ${4,2 + 1,2)} → 5.4 ${evaluate((4 + 2) * 3)} → 18 ${ZmiennaA} = 12 ${ZmiennaA + ZmiennaB * 3} → 72 |
9. Funkcja Teraz
| Nazwa funkcji | now |
| Opis funkcji | Funkcja zwraca obecną datę i czas w którym dokument jest generowany w formacie "Y-m-d H:i:s". |
| Format funkcji | ${now( )} |
| Przykład wywołania | ${now()} |
10. Funkcja formatowania czasu
| Nazwa funkcji | dateformat |
| Opis funkcji | Funkcja umożliwia konwertowanie tekstu reprezentującego znacznik czasu z jednego formatu, na inny. |
| Format funkcji | ${dateformat(czas, format)}
gdzie: czas - tekst będący reprezentacją znacznika czasowego. Interpretuje znaczniki czasowe zapisane w formatach zrozumiałych dla klasy \DateTime format - formaty daty zgodny z wbudowanymi formatami dat dla PHP Wartości domyślne argumentów:
|
| Przykład wywołania | ${dateformat('2020-03-12 15:17:22' ,’Y-m-d H:i:sP’)} → 2020-03-12 15:17:22+00:00
${dateformat('03/12/2020 15:17:22', ’Y-m-d H:i:sP’)} → 2020-03-12 15:17:22+00:00 ${dateformat('12.05.2020 15:17', ’g:ia \o\n l jS F Y’)} → 3:17pm on Tuesday 12th May 2020 ${dateformat('2020-03-12 15:17:22', ’Y-m-d H:i:sP’)} → 2020-03-12 15:17:22+00:00 ${dateformat(now(),’m-d-Y’)} → 07-03-2020 |
11. Zagnieżdżanie funkcji
| Opis funkcji | Podane powyżej funkcji można dowolnie zagnieżdżać, np.:
${format( recordset (kapital, ‘harmonogram’) + recordset (finans, ‘harmonogram’), ‘pl’)} gdzie funkcje realizowane są w następującej kolejności:
|
12. Funkcja sprawdzająca czy tabela RECORDSET jest wypełniona (IsEmptyRs)
| Nazwa funkcji | IsEmptyRs |
| Opis funkcji | Funkcja zwraca prawdę lub fałsz w zależności od tego czy w pliku z danymi znajdują się wartości do wstawienia w podany RECORDSET. |
| Format funkcji |
${isEmptyRs(nazwa recordsetu)} gdzie: nazwa recordsetu - w przypadku jednego recordsetu bez nazwy należy podać "" (pusty string) |
| Przykład wywołania | ${if(!isEmptyRs('nazwa'))}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. ${recordset(pole, 'nazwa')} ${endif} |