Felhasználói eszközök

Eszközök a webhelyen


spec:pdf_bizonylatsablon_tartalma

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>
  • 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>

    
    
    
spec/pdf_bizonylatsablon_tartalma.txt · Utolsó módosítás: 2024/05/22 14:13 szerkesztette: era