PDF bizonylatsablon tartalma

PML, azaz PDF Markup Language

Például: bizonylat alap sablon, egyedi számlakép készítése

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 angol és spanyol nyelven is automatikusan ki tudja nyomtatni a bizonylatot a bizonylatkészítéskor a Paraméterek terület Nyelv mezőben kiválasztott szerint.
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

Szerkesztéskor a <vardebug> tag-et a sablon a megjegyzés cellájába beillesztve az előnézeti képen látható milyen kulcs-érték párokat tud kiírni a program az adott bizonylattípusra.

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.

Ismétlődő elemek, macro

<define macro_neve> 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 elemeg 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ó.

<macro macro_neve> 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.

<define tetel_table>
<table null R3% | L20% | R14% | R12% | R14% | R8% | R13% | R15% >
</define tetel_table>
<define piros_text>
<color ff0000 >
</define piros_text>

document

<document bizonylat_neve>
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

<table null L5% | C90% | R5%> 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

Az cellák szélességét %-os értékben kell megadni.
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:

<document feketefeher_szamla>
<h><vspace 20>
<table space L5% | C90% | L5%>
|

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:

<sub fejlec>
<table space L33% | C33% | R33%>
<vspace 10>
<logo>
|
<vspace 10>
{dynlabels} <if subtitle subtitle><10>{dynlabels}{subtitle}</if subtitle>
<20>{dynlabels}{title}
|
<vspace 10>
<10>{labels}{szlaszam}:
<b><12>{fej}{szlaszam}</b>
<8>{dynparams} <if subtitle_param subtitle_param>{dynlabels}{subtitle_param_label}
{dynparams}{subtitle_param}</if subtitle_param>
<vspace 5>
</table>
</sub fejlec>

A <sub …> tag a tartalom tagolására szolgál, mindig </sub …> elemmel kell lezárni.

page_content

<page_content>
A page részben létrehozott tartalom elhelyezése a dokumentumban, például a dokumentum egy cellájában.

<row> | <page_content>

Szállító, vevő adatai

A program átal generált adatok kulcsai. Ajánlott az alább megadott formában megtartani ezeket.

{labels}{company} = Szállító

{labels}{partner} = Vevő

<row> |
<table null C100%>
<sub bizonylat_partnerek>
<table space L50% | L50% >
<12><b>{labels}{company}</b>
<vspace 10>
<10><b>{company}{ceg}
{company}{cim}</b>
<vspace 3>
{company}{adoszam}
{company}{bank}
{company}{tel}
|
<12><b>{labels}{partner}</b>
<vspace 10>
<10><b>{fej}{nev}
{fej}{cim_orszag} {fej}{cim_irszam}
{fej}{varos} {fej}{cim_cim}</b>
<vspace 3>
{fej}<if adoszam adoszam>
{labels}{adoszam}: {fej}{adoszam}
</if adoszam>
{fej}<if kozadoszam kozadoszam>
{labels}{kozossegi_adoszam}: {fej}{kozadoszam}
</if kozadoszam>
{fej}<if csoport_adoszam csoport_adoszam>
{labels}{csoportazonosito}: {fej}{csoport_adoszam}
</if csoport_adoszam>
<vspace 10>
</table>
</sub bizonylat_partnerek>
</table>

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}<varmacro_footer> Ha ezt a tag-et elhelyezzük a footeren belül, akkor a Törzsadatok → Bizonylat beállítások → 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ő.

<row> | <page_content>
<row> |
<7><sub footer>{footer}<varmacro footer></sub footer>
<hspace 1>
<i><macro footer_sysinfo></i>
<page feketefeher_szamla>

page

<page bizonylat_neve>
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.

<page feketefeher_szamla>

Teljes egész mintasablon számla készítéshez, számlakép

<document dokumentum_neve>
<table null L5% | C90% | R5%>
<table space L50% | L50%>
Szállító adatai | Vevő adatai
</table>
<table box L100%>
<page_content>
</table>
<tabe null C100%>
<7><sub footer>{footer}<varmacro footer></sub footer>
<hspace 1>
<i><macro footer_sysinfo></i>
<vspace 20>
</table>
</table>
<page dokumentum_neve>
<b>Ez itt a tartalom, amit a page_contentbe írunk ki.</b>
<define tetel_table>
<table null R3% | L20% | R14% | R12% | R14% | R8% | R13% | R15% >
</define tetel_table>
<document feketefeher_szamla>
<h><vspace 20>
<table space L5% | C90% | L5%>
|
<sub fejlec>
<table space L33% | C33% | R33%>
<vspace 10>
<logo>
|
<vspace 10>
{dynlabels} <if subtitle subtitle><10>{dynlabels}{subtitle}</if subtitle>
<20>{dynlabels}{title}
|
<vspace 10>
<10>{labels}{szlaszam}:
<b><12>{fej}{szlaszam}</b>
<8>{dynparams} <if subtitle_param subtitle_param>{dynlabels}{subtitle_param_label}
{dynparams}{subtitle_param}</if subtitle_param>
<vspace 5>
</table>
</sub fejlec>
<row> |
<vspace -5>
<row> | <page_content>
<row> |
<7><sub footer>{footer}<varmacro footer></sub footer>
<hspace 1>
<i><macro footer_sysinfo></i>
<page feketefeher_szamla>
<row> |
<table null C100%>
<sub bizonylat_partnerek>
<table space L50% | L50% >
<12><b>{labels}{company}</b>
<vspace 10>
<10><b>{company}{ceg}
{company}{cim}</b>
<vspace 3>
{company}{adoszam}
{company}{bank}
{company}{tel}
|
<12><b>{labels}{partner}</b>
<vspace 10>
<10><b>{fej}{nev}
{fej}{cim_orszag} {fej}{cim_irszam}
{fej}{varos} {fej}{cim_cim}</b>
<vspace 3>
{fej}<if adoszam adoszam>
{labels}{adoszam}: {fej}{adoszam}
</if adoszam>
{fej}<if kozadoszam kozadoszam>
{labels}{kozossegi_adoszam}: {fej}{kozadoszam}
</if kozadoszam>
{fej}<if csoport_adoszam csoport_adoszam>
{labels}{csoportazonosito}: {fej}{csoport_adoszam}
</if csoport_adoszam>
<vspace 10>
</table>
</sub bizonylat_partnerek>
</table>
<row> |
<sub parameterek>
<vspace 15>
<table space C20% | C20% | C20% | C20% | C20% >
<10>
{labels}{fizmod} | {labels}{megjelenesi_forma} |{labels}{teljdat} | {labels}{kiallitas_datuma} | {labels}{fizhat} |
<line 1 1 0> | <line 1> | <line 1> | <line 1> | <line 1> |
<b>{fej}{fizmod} | {dynlabels}{megjelenesi_forma} | {fej}{teljdat} | {fej}{datum} | {fej}{fizhat}</b> |
</table>
</sub parameterek>
{fej}
<if top_megj_bool top_megj_bool>
<row> |
<table space L100%>
<hspace 13><10>{fej}{top_megj_label}
<row> <line 1>
<vspace 2>
{fej}<if top_megj_data_bool top_megj_data_bool>
<9>{fej}{top_megj_data}
<rows> <hspace 13> {name} <b>{value}</b>
</rows>
</if top_megj_data_bool>
<vspace 3>
<sub top_megjegyzes>
<table null L3% | L97%>
| {fej}{top_megj} |
</table>
</sub top_megjegyzes>
</table>
<vspace 10>
<line 2 1 0>
</if top_megj_bool>
<row> |
<sub lista_fejlec>
<vspace 10>
<macro tetel_table>
<9><b>
# | {labels}{megnevezes} | {labels}{egysegar} | {labels}{menny} |{labels}{netto_ossz} | {labels}{afa} | {labels}{afa_osszeg} | {labels}{brutto_ossz}
<row> | <7>{labels}{cikk_ksh_megj}</b> | | | | | | |
</table>
</sub lista_fejlec>
<table space C100%>
<line 1>
</table>
<9>
{tetelek}<rows itemlista>
<table null C100%>
<sub item>
<vspace 1>
<macro tetel_table>
<9>{sorsz}. | <i>{megnevezes}</i> | {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} | | | | | |
</table>
<vspace 3>
<line 1 1 2>
</sub item>
</table>
</rows itemlista>
<vspace -1>
<line 2 1 0>
<vspace 10>
<table space L60% | R40% >
<sub afa_osszesito>
{/}{fej}<if deviza calc_penznem_deviza_bool>
<table null C20% | C40% | C40% >
<7>{fej}<if disabled afa_arfolyam_disabled>
<nop>
<else disabled>
1 {fej}{penznem}=<nop>{fej}{afa_arfolyam} {fej}{ado_penznem}
</if disabled>
| <9><b>{labels}{netto} {/}{fej}{penznem}</b> (<nop>{/}{fej}{ado_penznem})<line 1>
| <b>{labels}{afa_rov} {/}{fej}{penznem} </b> (<nop>{/}{fej}{ado_penznem})<line 1>
</table>
<else deviza>
<table null R20% | C20% | C20% | R40%>
|
<b>{labels}{netto} {/}{fej}{penznem}</b><line 1> | <b>{labels}{afa_rov} {/}{fej}{penznem}</b><line 1> | |
</table>
</if deviza>
<8>{osszesito}<rows osszesito_table>
<if afakor afakor_bool>
{/}{fej}<if deviza calc_penznem_deviza_bool>
<table space R20% | R15% | R25% | R15% | R25% >
<b>{/}{labels}{afa_rov} {calc_afa_short} | {calc_ossz_netto_formatted}</b> | (<nop>{calc_huf_netto_formatted}<nop>) | <b>{calc_ossz_afa_formatted}</b> | (<nop>{calc_huf_afa_formatted}<nop>) |
</table>
<else deviza>
<table space R20% | R20% | R20% | R40% >
<b>{/}{labels}{afa_rov} {calc_afa_short} | {calc_ossz_netto_formatted} | {calc_ossz_afa_formatted}</b> | |
</table>
</if deviza>
<else afakor>
{/}{fej}<if deviza calc_penznem_deviza_bool>
<table space R20% | R15% | R25% | R40% >
<b>{calc_afa_short} | {calc_ossz_netto_formatted}</b> | (<nop>{calc_huf_netto_formatted}<nop>) | <8><left>{onlineszamla_vat_reason} |
</table>
<else deviza>
<table space R20% | R20% | R60% >
<b>{calc_afa_short} | {calc_ossz_netto_formatted}</b> | <8><left>{onlineszamla_vat_reason} |
</table>
</if deviza>
</if afakor>
</rows osszesito_table>
</sub afa_osszesito>
|
<bottom><vspace 10>
<sub mindosszesen>
<table space R50% | R50% >
<10>{labels}{netto_ossz} | {fej}{calc_ossz_netto_formatted} {fej}{penznem} |
<10>{labels}{afa_ossz} | {fej}{calc_ossz_afa_formatted} {fej}{penznem} |
{fej}<if cash_round cash_round>
<10>{labels}{brutto_ossz} | {fej}{calc_ossz_brutto_formatted} {fej}{penznem} |
</if cash_round>
<b><12>{labels}{fizetendo} | {fej}{fizetendo} {fej}{penznem}</b> |
</table>
<table space R100% >
<8>{fej}{calc_ossz_brutto_betuvel}. |
</table>
</sub mindosszesen>
</table>
<vspace 10>
<table space L100%>
<10><b>{labels}{koszonjuk_a_vasarlast}</b>
<vspace 15>
<9>{labels}{megjegyzes}:
<vspace 10>
<table space L5% | L90% | L5%>
| {fej}{megj} |
</table>
<vspace 15>
</table>
<macro alairas_minimal>