===== PDF bizonylatsablon tartalma ====== {{ :evir:torzsadatok:pdf_markup_language_felhasznaloi_segedlet.pdf |PML, azaz PDF Markup Language}} A sablonok felvétele, szerkesztése és előnézete: [[evir:torzsadatok:pdf_sablon:torzs_pdf|PDF sablon törzsadat]]. ==== Többnyelvűsített szöveges tartalmak kulcsai ==== Ha a bizonylatsablon szövegezését az alapsablonban használt kulcsok használatával készítjük, akkor a program a szótárban meglévő többi nyelven (pl. angol, német, szlovák, spanyol) is automatikusan ki tudja nyomtatni a bizonylatot a [[evir:bizonylatok:parameterek|bizonylatkészítéskor]] a ''Paraméterek'' terület ''Nyelv'' mezőben kiválasztott szerint. \\ {{fa>info-circle?lg}} Egyedi szöveget is írhatunk a bizonylatsablonba, kulcsok nélkül. Ebben az esetben például az angol nyelvű bizonylathoz egy angol nyelven írt sablont is készíteni kell. **Például**: **{kulcs}** = ''Szöveg, ami a bizonylatra kerül'' * **{cikk_ksh_megj}** = ''Cikkszám, Ksh jel, Megjegyzés'' \\ * **{cikkszam}** = ''Cikkszám'' * **{megnevezes}** = ''Megnevezés'' {{fa>info-circle?lg}} Szerkesztéskor a '''' tag-et a sablonba (pl. a megjegyzés cellájába) beillesztve az előnézeti képen megjelenik, hogy az adott bizonylattípusra milyen kulcs-érték párokat tud kiírni a program. * A //{dynlabels}// előtag jelzi a bizonylattípusonként dinamikusan változó szövegeket: * **{dynlabels}{title}**: a bizonylattíput írja ki. //Például: Számla, Szállítólevél, Bevételezés// * A //{labels}// előtag jelzi a központi szótárból érkező szövegeket: * **{labels}{szlaszam}**: kiírja a ''Számlaszám'' szöveget. * A //{fej}// előtag jelzi a programból érkező adatokat: * **{fej}{szlaszam}**: kiírja a számlaszámot. A bizonylatsablonokban használható további névterek: * **{company}**: a saját cég (szállító) adatai -- ''ceg'', ''cim'', ''adoszam'', ''bank'', ''tel'' * **{fej}**: a bizonylat fejének adatai (partner neve és címe, adószámok, dátumok, fizetési mód, pénznem, összesítő értékek, megjegyzés) * **{tetelek}**: a bizonylat tételei -- tömb, amelyen a '''' tag-gel kell végigmenni * **{osszesito}**: az ÁFA összesítő sorai -- ugyancsak tömb, '''' tag-gel * **{dynparams}**: a bizonylattípusonként dinamikusan változó paraméterértékek (a ''{dynlabels}'' címkéinek párja) * **{footer}**: a lábléc tartalma (lásd lentebb a ''footer'' szakaszt) * **{labels_tobbsoros}**: a többsoros (tört) címkék a tétellista fejlécéhez. Ha egy kulcshoz nincs többsoros változat, a program automatikusan a ''{labels}'' ágat használja. {{fa>info-circle?lg}} A változók címzése (''{var?}'' opcionális elem, ''{?}'' és ''{/}'' gyökér-visszaallítás, '''', ''''), valamint a tagek teljes listája a fenti PML segédletben található. ==== Ismétlődő elemek, macro ==== * **** A macro definiálása. Ha ismétlődő tartalmat szeretnénk létrehozni, amit többször felhasználunk azt makró elembe célszerű elhelyezni. \\ Ezek az elemek egy-egy utólagos módosítást nagyon felgyorsíthatnak. \\ //Például: elválasztó vonal színének vastagságának definiálására, vagy tétellista táblázat oszlopszélességeinek megadására, ami a header és a tételek táblázatban felhasználható.// * **** A definiált macro teljes egészét behelyezi a tag helyére. A makró elemek definiálása mindig a //document// tag előtt kell megtörténjen. \\ A //define tetel_table// tag-en belül meghatározunk egy 8 oszlopos táblázatot és \\ a //define piros_text// tag-en belül meghatározunk egy piros betűszínt. \\ Ezeket később ''macro'' elemként felhasználhatjuk a környező elemeket figyelembe véve akárhol a dokumentumban és így ha bármin módosítani szeretnénk csak ezen az egy helyen kell megtennünk. \\ === Beépített makrók === A következő makrók a programban készen rendelkezésre állnak, tehát **nem kell őket ''''-olni**, közvetlenül hívhatók a '''' tag-gel: ^ Makró ^ Mit tesz ^ | ''footer_sysinfo'' | a rendszer által generált lábléc-sor (verzió, időbélyeg) elválasztó vonallal | | ''cbox_company'' | a saját cég adatai lekerekített keretes cellába | | ''cbox_partner'' | a partner adatai lekerekített keretes cellába | | ''document_template'' | teljes, készre szerkesztett ''document'' váz (fejléc, partnerek, lábléc) | | ''bizonylat_template'' | bizonylat-váz tétellista fejléccel | | ''bizonylat_template_modern'', ''bizonylat_template_modern_uj'' | ugyanaz modernebb fejléc-elrendezéssel | | ''fejlec_page'' | a ''page'' rész elejére való fejléc (partnerek, fejmezők, tételfejléc) | | ''top_megj_cbox'' | a bizonylat elején megjelenő megjegyzés-blokk keretes cellában | | ''item_table'', ''item_header'' | a tétellista oszlopdefiníciója és fejléce | | ''item_table_nosum'', ''item_header_nosum'' | ugyanaz ár-oszlopok nélkül (ár nélküli nyomtatáshoz) | | ''alairas_minimal'', ''alairas_classic'' | átvételi és készítői aláírás-blokk két stílusban | {{fa>exclamation-circle?lg}} A ''bizonylat_template*'' és ''fejlec_page'' makrók a ''customized_fejmezok'' és ''customized_item_header'' makrókra hivatkoznak, **amelyek nem beépítettek**: ezeket az adott bizonylattípus sablonjának kell ''''-olnia. Ha kimaradnak, a sablon feldolgozása hibát jelez. ==== document ==== * **** \\ A bizonylat, vagy bármilyen PDF dokumentum kezdete, a dokumentum fejléceit, címsorait tartalmazza. Ezzel kezdődik a pdf sablon. \\ Oldalanként ismétlődik, ennek a dokumentum résznek a tartalma minden oldalon ott lesz. \\ Nagyon fontos a bizonylat elnevezése a document szó után (ékezet és szóköz nélkül). \\ //Például: számla felirat, számlaszám, lábléc. // ==== Táblázat ==== * **
** Egy táblázatot mindenképpen tartalmaznia kell a dokumentumnak. * A táblázat stílusa lehet: * null: keret és margó nélkül, * space: keret nélkül margóval, * box: kerettel és margóval, * cbox: lekerekített sarkú kerettel és margóval. * A vízszintes pozicionálása lehet: * L = left/balra rendezett * C = center/középre rendezett * R = right/jobbra rendezett * J = justify/szélesre igazított (ha a cella tartalmának legalább 80%-a szöveg) * A cellák szélessége megadható **%-os értékben** (pl. ''C90%'') vagy **pontméretben** (pl. ''L240''). A beépített tétellista-makrók pontméretet használnak. \\ A példában egy alap dokumentum margó méret látható. \\ Egy táblázat cellájába helyezett másik táblázat szélessége mindig a befoglaló cellát veszi alapul A következő kódrészlettel elindítható egy PDF dokumentum szerkesztése, így ezzel elhelyezünk egy átlátszó befoglaló keretet a papíron:
| ==== Fejléc ==== A következő adatok a //Számla// felirat, a logo, a bizonylattípus, a bizonylatszám, ezek a PDF minden oldalán szerepelnek majd:
| {dynlabels} <10>{dynlabels}{subtitle} <20>{dynlabels}{title} | <10>{labels}{szlaszam}: <12>{fej}{szlaszam} <8>{dynparams} {dynlabels}{subtitle_param_label} {dynparams}{subtitle_param}
A //****// tag a tartalom tagolására szolgál, mindig //// elemmel kell lezárni. ==== page_content ==== * **** \\ A //**page**// részben létrehozott tartalom elhelyezése a dokumentumban, például a dokumentum egy cellájában. | ==== Szállító, vevő adatai ==== A program által generált adatok kulcsai. Ajánlott az alább megadott formában megtartani ezeket. * **{labels}{company}** = ''Szállító'' * **{labels}{partner}** = ''Vevő'' |
<12>{labels}{company} <10>{company}{ceg} {company}{cim} {company}{adoszam} {company}{bank} {company}{tel} | <12>{labels}{partner} <10>{fej}{nev} {fej}{cim_orszag} {fej}{cim_irszam} {fej}{varos} {fej}{cim_cim} {fej} {labels}{adoszam}: {fej}{adoszam} {fej} {labels}{kozossegi_adoszam}: {fej}{kozadoszam} {fej} {labels}{csoportazonosito}: {fej}{csoport_adoszam}
==== Logo és képek ==== * **** \\ A cég logója a hagyományos 88x33 pontos méretben. * **** \\ A dokumentumtárból (storage) az //sha// változóban található SHA1 kulcs szerinti kép, a //ct// változó szerinti content-type-pal. * **** \\ A //fn// fájlnevű kép megjelenítése; a content-type ''image/*'' formában (jpeg, tiff, png, gif). * **** \\ Az alapértelmezett változóban lévő aláíráskép, ahol //s// az aláírás, //e// annak engedélyezésének alváltozója. A három ''image'' tag opcionálisan méretezhető is, a paraméterek után írva: * ''maxsize //w h//'' -- belefér egy //w// x //h// téglalapba, a képarány torzítás nélküli megőrzésével * ''size //w h//'' -- pontosan //w// x //h// méret, a képarány torzulhat * ''scale //r//'' -- //r//-szeres méret (1 = változatlan) ==== footer ==== * A dokumentum lábléce, ami minden oldalon szerepel. Szöveges tartalma a ''Törzsadatok -> Bizonylat beállítások -> Bizonylat lábléc'' menüpont alatt szerkeszthető. * **{footer}** Ha ezt a tag-et elhelyezzük a footeren belül, akkor a ''Törzsadatok -> Bizonylat beállítások -> [[evir:torzsadatok:bizonylat:torzs_bizonylat_lablec|Bizonylat lábléc]]'' menüpont alatt elmentett szöveget helyezi el a helyére a program. Bizonylattípusonként különböző lábléc készíthető. | | <7>{footer} ==== page ==== * **** \\ A dokumentum tartalmi része, ami nem ismétlődik. \\ Akárhány oldalas lehet a dokumentum ezek csak egyszer szerepeljenek benne. \\ **A footer után kezdődik!** Ez a tartalom folyamatosan töltődik be oldalról oldalra, ezért ezt a dokumentum legvégére kell elhelyezni. \\ \\ Itt is fontos az elnevezés a page szó után, ami megegyezzen a document tag-ben, megadott névvel. \\ \\ //Például: vevő és szállító adatai, tétellista fejléce, számla tételek, megjegyzés, fizetendő összeg.// ==== Teljes egész mintasablon számla készítéshez, számlakép ====
Szállító adatai | Vevő adatai
<7>{footer}
Ez itt a tartalom, amit a page_contentbe írunk ki.
==== Teljes minta számlakép ====
|
| {dynlabels} <10>{dynlabels}{subtitle} <20>{dynlabels}{title} | <10>{labels}{szlaszam}: <12>{fej}{szlaszam} <8>{dynparams} {dynlabels}{subtitle_param_label} {dynparams}{subtitle_param}
| | | <7>{footer} |
<12>{labels}{company} <10>{company}{ceg} {company}{cim} {company}{adoszam} {company}{bank} {company}{tel} | <12>{labels}{partner} <10>{fej}{nev} {fej}{cim_orszag} {fej}{cim_irszam} {fej}{varos} {fej}{cim_cim} {fej} {labels}{adoszam}: {fej}{adoszam} {fej} {labels}{kozossegi_adoszam}: {fej}{kozadoszam} {fej} {labels}{csoportazonosito}: {fej}{csoport_adoszam}
| <10> {labels}{fizmod} | {labels}{megjelenesi_forma} |{labels}{teljdat} | {labels}{kiallitas_datuma} | {labels}{fizhat} | | | | | | {fej}{fizmod} | {dynlabels}{megjelenesi_forma} | {fej}{teljdat} | {fej}{datum} | {fej}{fizhat} |
{fej} | <10>{fej}{top_megj_label} {fej} <9>{fej}{top_megj_data} {name} {value}
| {fej}{top_megj} |
| <9> # | {labels}{megnevezes} | {labels}{egysegar} | {labels}{menny} |{labels}{netto_ossz} | {labels}{afa} | {labels}{afa_osszeg} | {labels}{brutto_ossz} | <7>{labels}{cikk_ksh_megj} | | | | | | |
<9> {tetelek} <9>{sorsz}. | {megnevezes} | {calc_netto_formatted} | {calc_menny_formatted} {megys} | {calc_ossz_netto_formatted} | {calc_afa_short} | {calc_ossz_afa_formatted} | {calc_brutto_formatted} | | <9>{cikkszam} {ksh} {megj} {megj2} | | | | | |
{/}{fej}
<7>{fej} 1 {fej}{penznem}={fej}{afa_arfolyam} {fej}{ado_penznem} | <9>{labels}{netto} {/}{fej}{penznem} ({/}{fej}{ado_penznem}) | {labels}{afa_rov} {/}{fej}{penznem} ({/}{fej}{ado_penznem})
| {labels}{netto} {/}{fej}{penznem} | {labels}{afa_rov} {/}{fej}{penznem} | |
<8>{osszesito} {/}{fej} {/}{labels}{afa_rov} {calc_afa_short} | {calc_ossz_netto_formatted} | ({calc_huf_netto_formatted}) | {calc_ossz_afa_formatted} | ({calc_huf_afa_formatted}) |
{/}{labels}{afa_rov} {calc_afa_short} | {calc_ossz_netto_formatted} | {calc_ossz_afa_formatted} | |
{/}{fej} {calc_afa_short} | {calc_ossz_netto_formatted} | ({calc_huf_netto_formatted}) | <8>{onlineszamla_vat_reason} |
{calc_afa_short} | {calc_ossz_netto_formatted} | <8>{onlineszamla_vat_reason} |
| <10>{labels}{netto_ossz} | {fej}{calc_ossz_netto_formatted} {fej}{penznem} | <10>{labels}{afa_ossz} | {fej}{calc_ossz_afa_formatted} {fej}{penznem} | {fej} <10>{labels}{brutto_ossz} | {fej}{calc_ossz_brutto_formatted} {fej}{penznem} | <12>{labels}{fizetendo} | {fej}{fizetendo} {fej}{penznem} |
<8>{fej}{calc_ossz_brutto_betuvel}. |
<10>{labels}{koszonjuk_a_vasarlast} <9>{labels}{megjegyzes}:
| {fej}{megj} |
---- Kapcsolódó oldalak: * [[evir:torzsadatok:pdf_sablon:torzs_pdf|PDF sablon törzsadat]] -- a sablonok felvétele, szerkesztése, előnézete * [[evir:torzsadatok:bizonylat:torzs_bizonylat_lablec|Bizonylat lábléc]] * [[evir:bizonylatok:bizonylat_keszites|Bizonylat készítés]] * [[evir:bizonylatok:parameterek|Bizonylat paraméterek]] -- a ''Nyelv'' mező, amely szerint a sablon szövegkulcsai lefordulnak