Siin näed erinevusi valitud versiooni ja hetkel kehtiva lehekülje vahel.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
et:yld_print_form [2019/10/28 16:28] kristina [Palgateatisele puhkuse jäägi kuvamine] |
et:yld_print_form [2023/04/13 10:57] ott [Ribakood pildina] |
||
---|---|---|---|
Rida 1: | Rida 1: | ||
======Väljatrükkide häälestamine====== | ======Väljatrükkide häälestamine====== | ||
- | Directo väljatrükk on oma olemuselt HTML kujundus, mille kirjeldamise toimub XSL Stylesheet-i abil. Väljatrükkides võtakse andmed XML-ist (igale dokumendile ja aruandele on oma XML kogum). | + | Directo väljatrükk on oma olemuselt HTML kujundus, mille kirjeldamine toimub XSL Stylesheet-i abil. Väljatrükkides võetakse andmed XML-ist (igale dokumendile ja aruandele on oma XML kogum). |
=====Häälestamine===== | =====Häälestamine===== | ||
- | * ''ÜLDINE > Väljatrükkide häälestamine'' \\ või | + | Väljatrükkide häälestamiseks peab kasutajal olema õigus, mida saab määrata kasutaja/grupi õiguste MUU saki alt. |
- | * ''ÜLDINE > Üldised seadistused > Väljtrükkide häälestamine'' | + | {{:et:triin20211110-142625.png}} |
+ | ''Seadistused> Üldised seadistused > Väljatrükkide häälestamine'' | ||
+ | |||
+ | Igal dokumendiliigil saab olla mitu erinevat väljatrükivormi. Kasutaja saab trükkides või meilides valida sobiva vormi, klõpsates **Trüki** või **Meil** nupu peal parema hiireklahviga. Juhul, kui kasutaja ise väljatrükki ei vali, teeb Directo seda automaatselt. | ||
+ | |||
+ | Automaatvaliku korral kasutatakse esimest väljatrükimalli, mis sobib kõikide kirjeldatud tingimustega, st seadistustes määratud keel, projekt, objekt vms kattuvad trükitaval dokumendil olevate väärtustega. Automaatvaliku järjekorra määramiseks muudetakse seadistustes välja Järjekord väärtust - väljatrükimallide valik käib selle numbri järgi kasvavas järjekorras. | ||
+ | |||
+ | :!: Alati peab seadistama vähemalt ühe väljatrükimalli, millel ei ole määratud ühtegi filtrit ja mis on järjekorras viimane (kõige suurema järjekorranumbriga). Niimoodi välditakse olukorda, kus ühtegi vormi valida ei õnnestu ja trükkimine ebaõnnestub. | ||
+ | |||
+ | Väljatrükimall, mille juures on märgitud tulba **Nupp** alt valik Trüki, Meil või Trüki+Meil, ilmub vastav toiming dokumendi päisesse eraldi nupuna. Nii saab kiiresti ja mugavalt kasutada erinevaid väljatrükimalle, ilma et peaks neid parema hiireklahvi abil valima. | ||
+ | |||
+ | Nupp "**Kõik tühjaks**" kustutab väljatrükkide lisavalikud. | ||
+ | Näiteks keele, projekti, seeria, objekti, lao jmt info | ||
+ | |||
+ | {{:et:triin20210527-102013.png}} | ||
+ | |||
+ | Väljatrükivormi kujundus asub nupu **XSL** all. Akna paremal ääres on ülevaade tervest koodist, mis aitab paremini navigeerida ning kiirelt erinevate sektsioonide peale hüpata või nende vahel liikuda. Kui sisestada koodi algus, pakub redigeerija vasteid ja abistab koodi lõpuleviimisega. Muudatused tuleb rakendumiseks salvestada. | ||
+ | {{:et:triin20210527-111605.png}} | ||
+ | |||
+ | Kõik salvestamised jäädvustatakse igal real lingi **XSL** alla, kust on võimalik avada varasem versioon. Samuti on võimalik näha koodide erinevusi nupu **Erinevus viimasest** või linkide **Erinevus praegusest** ja **Erinevus järgmisega** abil. | ||
+ | {{:et:triin20210527-114606.png}} | ||
=====Parameetrid XSLis===== | =====Parameetrid XSLis===== | ||
Rida 13: | Rida 33: | ||
* <nowiki><!--</nowiki>mailnopdf:1<nowiki> --></nowiki>pdfi asemelt tehakse html | * <nowiki><!--</nowiki>mailnopdf:1<nowiki> --></nowiki>pdfi asemelt tehakse html | ||
* <nowiki><!--</nowiki>mailnoattachment:<nowiki> --></nowiki>pdfi manust ei lisata üldse, ainult enda kirjutatud tekst | * <nowiki><!--</nowiki>mailnoattachment:<nowiki> --></nowiki>pdfi manust ei lisata üldse, ainult enda kirjutatud tekst | ||
- | * PDF parameetrid \\ Väljund landscape: \\ <nowiki><!--</nowiki>pdfparams:BrowserWidth=1000,isLandscape=1,version=1,HeaderHeight=60,FooterHeight=60<nowiki>--></nowiki> **debug_pdf=1** - näha visuaalselt päise ja jaluse tsoon \\ **Engine=1** - Gecko renderer (IE asemel) \\ **FontEmbed=1** - lisab PDFi fondid kaasa (lisada saab serverile [[et:fntlist|installitud fontide]] seast) \\ **InsetX=10,InsetY=10** - X ja Y koordinaadid joonistamise alguseks \\ **BrowserWidth=800** võimaldab määrata nö Zoom astet, ehk kui suur vaade välja näeb (vaikimisi 800). | + | * PDF parameetrid \\ Parameetrid eraldatakse komaga. Näide: PDF luuakse landscape formaadis: \\ <nowiki><!--</nowiki>pdfparams:BrowserWidth=1000,isLandscape=1,version=1,HeaderHeight=60,FooterHeight=60<nowiki>--></nowiki> <WRAP> |
+ | ^Parameeter^Selgitus^ | ||
+ | |**debug_pdf=1**|näha visuaalselt päise ja jaluse tsoon| | ||
+ | |**BrowserWidth=800**|Lehe laius joonistamisel pikslites (vaikimisi 800, landcape puhul 1000)| | ||
+ | |**isLandscape=1**|PDF luuakse lanscape formaadis (laius suurem kui kõrgus)| | ||
+ | |**version=1**|vajalik parameeter, et koordinaadid arvutataks lehe äärest äärde piksli pealt| | ||
+ | |**Engine=1**|Gecko renderer (IE asemel) NB! sellega ei toimi üle lehe "voolavad" layoudid| | ||
+ | |**HeaderHeight=60**|Päise kõrgus mm| | ||
+ | |**FooterHeight=60**|Jaluse kõrgus mm| | ||
+ | |**HeaderHeight1=60**|Esilehe päise kõrgus mm (kui see peab erinema ülejäänutest)| | ||
+ | |**FooterHeight1=60**|Esilehe jaluse kõrgus mm (kui see peab erinema ülejäänutest)| | ||
+ | |**FontEmbed=1**|lisab PDFi fondid kaasa (lisada saab serverile [[et:fntlist|installitud fontide]] seast) | | ||
+ | |**InsetX=10,InsetY=10**|X ja Y koordinaadid joonistamise alguseks | | ||
+ | |**BrowserWidth=800**|võimaldab määrata nö Zoom astet, ehk kui suur vaade välja näeb (vaikimisi 800)| | ||
+ | |** ImageQuality=10**|pildifailide kompressioon 0 - 100 (0=pakitud, halb kvaliteet, 100=ilma pakkimata, kvaliteedikaota) | | ||
+ | |**MediaBox=A4**|lehe suurus (vaikimisi A4) | | ||
+ | |**Rect=0 0 210 297**|meedia "ruudu" dimensioonid mm, näide on A4 (0 0 = x ja y joonistamise alguspunkt lehe vasakul alanurgas; 210 - laius mm; 297 kõrgus mm)| | ||
+ | |||
+ | </WRAP> | ||
* <nowiki><!--</nowiki>output-excel <nowiki> --></nowiki>lisab exceli headeri - fail avatakse exceliga | * <nowiki><!--</nowiki>output-excel <nowiki> --></nowiki>lisab exceli headeri - fail avatakse exceliga | ||
* <nowiki><!--</nowiki>clear-output<nowiki> --></nowiki>väljundiks on ainult puhas XSL-i transformatsioon (ilma Directo päiseta) | * <nowiki><!--</nowiki>clear-output<nowiki> --></nowiki>väljundiks on ainult puhas XSL-i transformatsioon (ilma Directo päiseta) | ||
- | * Meili saates luuakse sündmus, soovikorral saab muuta loodud sündmuse parameetreid vastavate XSL parameetritega <nowiki><!--ev_type:xxx --> <!--ev_status:xxx --> <!--ev_status:xxx --> <!--ev_object:xxx --> <!--ev_start:xxx --> <!--ev_end:xxx --> </nowiki> | + | * Meili saates luuakse sündmus, soovi korral saab muuta loodud sündmuse parameetreid vastavate XSL parameetritega <nowiki><!--ev_type:xxx --> <!--ev_status:xxx --> <!--ev_object:xxx --> <!--ev_start:xxx --> <!--ev_end:xxx --> </nowiki> |
* <nowiki><!--output-pdf--></nowiki> väljatrükk avaneb alati PDFina (aruannete puhul faili nime määramiseks tasub ka mailattachment parameeter määrata - vt järgmine punkt) | * <nowiki><!--output-pdf--></nowiki> väljatrükk avaneb alati PDFina (aruannete puhul faili nime määramiseks tasub ka mailattachment parameeter määrata - vt järgmine punkt) | ||
* <nowiki><!--</nowiki>mailattachment:attachmendi/faili_nimi<nowiki> --></nowiki>saab kasutada tagi {nr} ning parameetreid {param:parami_nimi} | * <nowiki><!--</nowiki>mailattachment:attachmendi/faili_nimi<nowiki> --></nowiki>saab kasutada tagi {nr} ning parameetreid {param:parami_nimi} | ||
* <nowiki><!--</nowiki>mailsubject:uus_subjekt<nowiki> --></nowiki>saab kasutada tagi {nr} ning parameetreid {param:parami_nimi} | * <nowiki><!--</nowiki>mailsubject:uus_subjekt<nowiki> --></nowiki>saab kasutada tagi {nr} ning parameetreid {param:parami_nimi} | ||
- | * <nowiki><!--</nowiki>output-file:failinimi.txt<nowiki> --></nowiki>väljund faili | + | * <nowiki><!--</nowiki>output-file:failinimi.txt<nowiki> --></nowiki>väljund faili |
+ | * <nowiki><!--</nowiki>charset:windows-xxx<nowiki> --></nowiki>tavapäraselt on //output-file// puhul encodinguks windows-1257, seda juhul, kui xsl-is pole kusagil //charset=utf-8// (siis on encodinguks mõistagi UTF-8). Kui aga määrata charset parameeter eraldi, siis võetakse siin määratud encoding | ||
+ | * <nowiki><!--</nowiki>mailbody:xxx<nowiki> --></nowiki>massmeili puhul meili sisu tekst. Kui xxx on number, võetakse sisu antud numbriga tekstist, mis on kirjeldatud ''Üldised seadistused>Tekstid'' all | ||
Parameetrite **mailsubject, mailattachment, output-file, mailfrom, mailto ja mailname** puhul saab kasutada: | Parameetrite **mailsubject, mailattachment, output-file, mailfrom, mailto ja mailname** puhul saab kasutada: | ||
Rida 47: | Rida 87: | ||
* **h** - kõrgus pixelites | * **h** - kõrgus pixelites | ||
* **code** - soovitud ribakoodi standard (vastavalt järgnevale tabelile) | * **code** - soovitud ribakoodi standard (vastavalt järgnevale tabelile) | ||
+ | |||
+ | ====GS1 kood===== | ||
+ | GS1 standard võimaldab koodis edastada andmeid mitme erineva parameetri kohta. Näiteks seerianumber, parim enne jne. Konkreetne parameeter ehk nn.[[https://www.gs1.org/standards/barcodes/application-identifiers|AI]] on standardis defineeritud. Koodi genereerimisel tuleks AI esitada sulgudes, näiteks ribakoodi seerianumbri ja parim enne jaoks oleks kood formaadis ''(01)ribakood(21)seerianr(15)YYMMDD'' | ||
+ | \\ | ||
+ | Näide | ||
+ | [[https://login.directo.ee/logos/qr.asp?t=(01)ribakood(21)seerianr(15)YYMMDD&code=gs1-128|GS1-128 ribakoodina]] | ||
+ | , sama asi [[https://login.directo.ee/logos/qr.asp?t=(01)ribakood(21)seerianr(15)YYMMDD&code=gs1qrcode|GS1 QR koodina]] | ||
^Standard^code parameetri väärtus^ | ^Standard^code parameetri väärtus^ | ||
Rida 190: | Rida 237: | ||
Tähelepanu tuleks pöörata järgnevale: | Tähelepanu tuleks pöörata järgnevale: | ||
====Scripti kasutamine XSLis==== | ====Scripti kasutamine XSLis==== | ||
- | <xsl:stylesheet> lehe deklareerimisel, peavad olema defineeritud ka järgnevad script atribuudid: | + | <xsl:stylesheet> lehe deklareerimisel peavad olema defineeritud ka järgnevad script atribuudid: |
* <code>xmlns:script = "http://topxml.com/forum/script"</code> | * <code>xmlns:script = "http://topxml.com/forum/script"</code> | ||
* <code>xmlns:x="ignore" exclude-result-prefixes="script"</code> | * <code>xmlns:x="ignore" exclude-result-prefixes="script"</code> | ||
Rida 209: | Rida 256: | ||
Kõik <msxsl:script> blokis tuleks ka oma kujundusse kopeerida (siin asub funktsioon, mille abil tehakse ribakoodi pilt) | Kõik <msxsl:script> blokis tuleks ka oma kujundusse kopeerida (siin asub funktsioon, mille abil tehakse ribakoodi pilt) | ||
- | ====Funktsiooni väljakutse==== | + | ====Funktsiooni väljakutsumine==== |
* Ribakoodi kuvamiseks kutsutakse välja eelpool mainitud funktsioon <code><xsl:value-of disable-output-escaping="yes" select="string(script:code128(string(artikkel)))"/></code> | * Ribakoodi kuvamiseks kutsutakse välja eelpool mainitud funktsioon <code><xsl:value-of disable-output-escaping="yes" select="string(script:code128(string(artikkel)))"/></code> | ||
* Võib juhtuda, et mõningate sümbolite korrektsena kuvamiseks tuleb ribakoodilugejat seadistada õiget tüüpi klaviatuuri emuleerima (testitud käpaga õnnestus kood lugeda, kui klaviatuuri tüübiks oli määratud SWE/FIN) | * Võib juhtuda, et mõningate sümbolite korrektsena kuvamiseks tuleb ribakoodilugejat seadistada õiget tüüpi klaviatuuri emuleerima (testitud käpaga õnnestus kood lugeda, kui klaviatuuri tüübiks oli määratud SWE/FIN) | ||
Rida 320: | Rida 367: | ||
</code> | </code> | ||
+ | =====Pilt tabeli taustaks===== | ||
+ | Pildi saab kasutada tabeli taustana, selleks tuleb määrata tabeli stiil järgnevalt: | ||
+ | <code> | ||
+ | <table style="background: url(/logos/files/pilt.png);background-size: 150px; background-position: 260px 10px;background-repeat:no-repeat;" border="0" cellpadding="0" cellspacing="0" valign="top"> | ||
+ | </code> | ||
+ | |||
+ | Pdfparams parameeter Engine peab antud juhul olema 1. | ||
+ | <code> | ||
+ | <!--pdfparams:BrowserWidth=1000,isLandscape=1,version=1,HeaderHeight=60,FooterHeight=60,Engine=1--> | ||
+ | </code> | ||
=====Lingi kasutamine===== | =====Lingi kasutamine===== | ||
<code xsl><a target="_blank"> | <code xsl><a target="_blank"> | ||
Rida 342: | Rida 399: | ||
* Leping | * Leping | ||
* Liikumine | * Liikumine | ||
+ | * Personal | ||
Signeerimise väljatrüki lisamiseks tuleb väljatrüki definitsioonile määrata tulbast **Signeeri** signeerimise ala laius : \\ {{:et:ott20190515-112604.png}} | Signeerimise väljatrüki lisamiseks tuleb väljatrüki definitsioonile määrata tulbast **Signeeri** signeerimise ala laius : \\ {{:et:ott20190515-112604.png}} | ||
Rida 350: | Rida 408: | ||
</code> | </code> | ||
- | :?: võimalus on signeerimist kasutada ka lihtsalt nö manusena PDFi salvestajana. Sellisel juhul signeerimist ei toimu, lihtsalt signeerimise väljatrükk salvestatakse PDFina dokumendi manuseks. Selle saavutamiseks tuleks lisada XSLi ülal mainitud **IMG** tag veidi teisiti: <code html> | + | * Soovikorral kuvatakse eraldi sisestuskast, kuhu saab tekstina sisestada allkirjastaja nime. {{:et:ott20200512-153928.png}}. \\ Selleks tuleb lisada väljatrükki eraldi //div// näites toodud id-ga, sisestatud nimi kuvatakse //div//i sisse. Võimalus on ka kuvada eeldefineeritud nimedega rippmenüü (lang atribuut) <code><div lang="Kaimar Karu,Toomas Tava" id="signer"></div></code> :!: atribuut id="signer" peab olema div-i viimane atribuut. \\ |
- | <img sign="signhere" emulator="1" width="1" border="0" /> | + | * võimalus on signeerimist kasutada ka lihtsalt nö manusena PDFi salvestajana. Sellisel juhul signeerimist ei toimu, lihtsalt signeerimise väljatrükk salvestatakse PDFina dokumendi manuseks. Selle saavutamiseks tuleks lisada XSLi ülal mainitud **img** tagi **emulator** atribuut: <code html><img sign="signhere" emulator="1" width="1" border="0" /></code> |
- | </code> | + | |
+ | =====PDF manuseks===== | ||
+ | |||
+ | Kui dokumendile on loodud PDF väljatrükk, mida on vaja digiallkirjastada, saab sellest väljatrükist mugavalt ühe nupu vajutusega luua manuse. Selleks tuleb ''Seadistused > Väljatrükid'' alt leida õige dokument, soovitud väljatrüki real teha "Signeeri" tulbas valik **PDF manuseks** ja salvestada.\\ | ||
+ | {{:et:evelint20220902-103249.png}} | ||
+ | |||
+ | Kui eelnev seadistus on tehtud, tekib dokumendile nupp "PDF manuseks". Olukorras, kus seadistus on tehtud ühe dokumenti mitmele väljatrükile, on nuppudel lisaks ka väljatrüki nimetus. | ||
+ | {{:et:evelint20220902-103412.png}} | ||
+ | |||
+ | Nupu vajutuse tagajärjel tekib väljatrükist dokumendi {{:et:evelint20220902-105915.png}} alla manus. | ||
+ | |||
+ | PDF manuseks loomise tugi on hetkel järgmistel dokumentidel: | ||
+ | * Pakkumine | ||
+ | * Tellimus | ||
+ | * Lähetus | ||
+ | * Arve | ||
+ | * Sündmus | ||
+ | * Klient | ||
+ | * Leping | ||
+ | * Liikumine | ||
+ | * Personal | ||
+ | |||
+ | =====EveryPay Linkpay===== | ||
+ | |||
+ | [[https://merchant.every-pay.com/et/linkpay/|EveryPay Linkpay]] abil on võimalik arve väljatrükile luua unikaalne makselink. | ||
+ | |||
+ | ====Alustamine==== | ||
+ | LinkPay lahenduse kasutamiseks Directos võta ühendust endale sobivaima EveryPay partnerpangaga, milleks on kas LHV, SEB või Swedbank. Sind saab aidata sinu kliendihaldur või täida ise ära [[https://support.every-pay.com/et/merchant-support/online-maksete-vastuvotmise-alustamine/|vastava panga taotlusvorm]]. Hinnainfo koos lepingu tingimustega saad otse pangalt. Loe, kuidas täpsemalt kasutada LinkPayd [[https://support.every-pay.com/et/merchant-support/kuidas-kasutada-linkpayd/|EveryPay portaalist]]. | ||
+ | ====Seadistamine==== | ||
+ | - EveryPay portaalis tuleb luua **LINKPAY>Lingid** alt link | ||
+ | - Lingi detailvaates on kuvatud **Lingi token**, mis tuleb kopeerida ning määrata Directo süsteemi seadistustes ''EveryPay LinkPay lingi token'' väärtuseks | ||
+ | - Lingi //Muuda// vaates tuleb //Aktiivne// tulbas valida aktiivseks __ainult__ //Arve number// väli. Kui kasutusel on ka viitenumber ning EveryPay poolt on aktiveeritud //Pangalingi maksed//, tuleks valida ka Viitenumber. | ||
+ | - Määrata linnud tulbas //URL MUUDETAV// väljadele //Tasumisele kuuluv summa (transaction_amount)// ning //Arve nr (invoice_number)//, Viitenumbri puhul ka Viitenumber (reference_number) {{:et:ott20210831-171549.png}} :!: Kui //URL MUUDETAV// tulpa pole näha, pöörduda EveryPay kasutajatoe poole, et see lisada. \\ :!: Viitenumber saadetakse, kui süsteemiseadistus ''Transpordi viitenumber'' on **Arvelt** \\ :?: Süsteemiseadistus ''EveryPay tasuda välja alus'' võimaldab määrata, milline summa saadetakse makselingile - arve saldo, kliendi saldo või arve tasuda summa | ||
+ | - EveryPay portaali **SEADED>Üldised seaded** alt kopeerida **API parool** Directo süsteemiseadistuse ''EveryPay LinkPay API parool'' väärtuseks | ||
+ | - Süsteemi seadistus ''EveryPay LinkPay URL'' on vaikimisi täidetud testkeskkonna aadressiga <nowiki>https://igw-demo.every-pay.com</nowiki> Pärast testimist tuleb see täita live teenuse aadressiga <nowiki>https://pay.every-pay.eu</nowiki> | ||
+ | - Link tekib nii arve kui ka tellimuse XMLi, kui väljatrüki definitsiooni aknasse **Väljad** alt on valitud //EveryPay LinkPay link// \\ :?: See valik tekib automaatselt peale salvestamist, kui lisada //everypay_link// XMLi tag järgmises punktis toodud näite alusel. Analoogselt arvele edastatakse ka tellimuse puhul viitenumber | ||
+ | - Lingi võib lisada väljatrükile sobivasse kohta, loomise näide: <code xsl><a><xsl:attribute name="href"><xsl:value-of select="/documents/document/everypay_link" disable-output-escaping = "yes"/></xsl:attribute>MAKSA SIIN</a></code> | ||
+ | |||
+ | :!: Makselingi kaasa minevat tasuda summat saab seadistada süsteemi seadistusega ''EveryPay LinkPay tasuda välja alus''. | ||
+ | |||
+ | :!: Vajadusel saab mitme lingi olemasolul luua eraldi loogika, mis valib mis iganes kriteeriumi põhjal sobiva (eeldefineeritud) lingi, mida konkreetsele väljatrükile luuakse. Seadistamiseks kirjuta palun [[info@directo.ee]] | ||
+ | |||
+ | =====HMAC signatuuri loomine välisele lingile===== | ||
+ | Võimalus on luua signatuur arvest (või tellimusest) välisele osapoolele. | ||
+ | * Signatuur luuakse dokumendi summa täisosa ja numbri omavahel liitmisel eraldatuna **&** märgiga ning selle signeerimisega osapoolte vahel jagatud salatunnusega **SHA2 256** algoritmi alusel. | ||
+ | * Salatunnus määratakse Directos süsteemiseadistuse ''Väljatrüki HMAC signatuuri salatunnus'' väärtuseks. | ||
+ | * Signatuuri saab lisada väljatrükile sobivasse kohta (mingi välise lingi osana): <code xsl><a><xsl:attribute name="href">http://www.minukoht.ee/?hmac=<xsl:value-of select="/documents/document/hmac_signature" disable-output-escaping = "yes"/></xsl:attribute>Mingi link</a></code> | ||
+ | |||
+ | ====Näide==== | ||
+ | |||
+ | Arve nr: 201400285 | ||
+ | Summa : 136.30 | ||
+ | |||
+ | <code php> | ||
+ | $secret = "85b97cd7a1"; # Directo süsteemiseadistustes salatunnus | ||
+ | $data = "sum=136&num=201400285" #hashitav string NB! arve summas ainult täisosa | ||
+ | $hmac = hash_hmac("sha256", $data, $secret); # d62f1b4761cede20b37c189aab95a55fb60e8b4f8a98c4e74194a47622b7a07a | ||
+ | </code> | ||
Rida 441: | Rida 555: | ||
</tr> | </tr> | ||
</code> | </code> | ||
+ | |||
+ | |||
+ | ====Splitter - Mingi tekstilise sisu laiali jagamine separaatori alusel==== | ||
+ | | ||
+ | Parameetrid 1. String, 2. separaator (näiteks tühik ' '), 3. mitmes element tagastada (algab 0-iga, ehk siis esimene tagastatav element on 0) | ||
+ | * XSL- päises peab olema [[et:yld_print_form#scripti_kasutamine_xslis|skripti deklaratsioon]] | ||
+ | * splitterfunktsioon <code js>function splitter( str, splitter, pos ){ | ||
+ | ret = ''; | ||
+ | var arr = str.split(splitter); | ||
+ | if(arr[pos]) | ||
+ | ret = arr[pos] | ||
+ | |||
+ | return ret | ||
+ | }</code> | ||
+ | * Funktsiooni kutsumine <code xml> <xsl:for-each select="/documents/document/rows/row"> | ||
+ | |||
+ | <td> <xsl:value-of select="string(script:splitter(string(nimetus),' ', 1))"/> | ||
+ | </td> | ||
+ | | ||
+ | </tr> | ||
+ | </code> | ||
+ | |||
+ | |||
+ | |||
+ | | ||
====dateDiff - kuupäevade vahemiku päevade arvu arvutamine==== | ====dateDiff - kuupäevade vahemiku päevade arvu arvutamine==== | ||
Rida 466: | Rida 605: | ||
</td> | </td> | ||
</code> | </code> | ||
+ | |||
+ | ====Page break==== | ||
+ | Et printeris/PDFis tekkiks uus leht: | ||
+ | <div style="page-break-before: always;"> | ||
====Summeerimine===== | ====Summeerimine===== | ||
- | Univeraalne summeerimise funktsioon, parameetrid: | + | Universaalne summeerimise funktsioon, parameetrid: |
- sisend number mida lisatakse | - sisend number mida lisatakse | ||
- grupp (suvaline konteksti kirjeldav string, kui üks summimine siis võib olla näiteks summ) | - grupp (suvaline konteksti kirjeldav string, kui üks summimine siis võib olla näiteks summ) | ||
Rida 476: | Rida 619: | ||
* 1 - grupi summa | * 1 - grupi summa | ||
* 2 - tühjus | * 2 - tühjus | ||
+ | * 3 - grupi summa ilma summat tühjendamata | ||
Väljund on string tüüpi, seega kui on vaja tulemusega arvutada, tuleb see numbriks konvertida enne. 1 ja 2 nullivad ka hetkel grupi. | Väljund on string tüüpi, seega kui on vaja tulemusega arvutada, tuleb see numbriks konvertida enne. 1 ja 2 nullivad ka hetkel grupi. | ||
Rida 513: | Rida 657: | ||
if( ret == 0 ) | if( ret == 0 ) | ||
rt = ''+v; | rt = ''+v; | ||
- | if( ret == 1 ) | + | if( ret == 1 || ret == 3 ) |
rt = ''+Number(sums[grp]); | rt = ''+Number(sums[grp]); | ||
if( ret == 1 || ret == 2 ) | if( ret == 1 || ret == 2 ) | ||
Rida 533: | Rida 677: | ||
<xsl:variable name="pjaak2" select="substring-before(substring-after(substring-after(pjaak, ';'), ';'), ';')"/> | <xsl:variable name="pjaak2" select="substring-before(substring-after(substring-after(pjaak, ';'), ';'), ';')"/> | ||
<xsl:variable name="pjaak3" select="substring-before(substring-after(substring-after(substring-after(pjaak, ';'), ';'), ';'), ';')"/> | <xsl:variable name="pjaak3" select="substring-before(substring-after(substring-after(substring-after(pjaak, ';'), ';'), ';'), ';')"/> | ||
- | <xsl:variable name="pjaak4" select="substring-after(substring-after(substring-after(substring-after(pjaak, ';'), ';'), ';'), ';')"/> | + | <xsl:variable name="pjaak4" select="substring-before(substring-after(substring-after(substring-after(substring-after(pjaak, ';'), ';'), ';'), ';'), ';')"/> |
<xsl:value-of select="format-number($pjaak2 - $pjaak3 - $pjaak1 - $pjaak4, '#####0')"/> | <xsl:value-of select="format-number($pjaak2 - $pjaak3 - $pjaak1 - $pjaak4, '#####0')"/> |