Projekat

Općenito

Profil

DATA.XML struktura i varijable koje možemo da koristimo kod štampe u ODT formatu

1. XML struktura

Na lokaciji C:\ se pravi fajl DATA.XML koji se poslije poziva radi štampe.

Struktura XML-a je ovakva:

<invoice>
   <dbr>13123</dbr>
   <ddat>01.01.09</ddat>
   ....
   <item>
      <rbr>1</rbr>
      <pbr></pbr>
      <id>4AX001</id>
      <naz>Aksiomski nastavak koljena ...</naz>
      ...
   </item>
   ... itd....

   <text>
      <row>dodatni tekst na kraju fakture red 1</row>
   </text>
   <text>
      <row>dodatni tekst na kraju fakture red 2</row>
   </text>
   .... itd....

<invoice>

Dodatni tekst sam morao odvojiti u subnodove stoga što imamo više linija. Trenutno postoji problem sa generisanjem nove linije u template-u.

2. Dostupne varijable

2.1 Totali na dokumentu

Varijabla opis napomene
invoice.u_bpdv ukupno bez pdv-a -
invoice.u_pop ukupno popust -
invoice.u_poptp ukupno popust na teret prodavca -
invoice.u_bpdvpop ukupno bez pdv-a - popust -
invoice.u_pdv ukupno pdv -
invoice.u_kol ukupno kolicina na dokumentu -
invoice.u_total ukupna vrijednost sa pdv-om -
invoice.u_zaokr zaokruženje radi razlike u cijeni -
invoice.u_tottp ukupno - popust na teret prodavca (invoice.u_total - invoice.u_poptp) -

2.2 Podaci dokumenta

Varijabla opis napomene
invoice.dbr broj dokumenta -
invoice.ddat datum dokumenta -
invoice.ddval datum valute dokumenta -
invoice.ddisp datum isporuke dokumenta -
invoice.dvr vrijeme kada je dokument napravljen -
invoice.dmj mjesto fakturisanja -
invoice.ddok naziv dokumenta -
invoice.dslovo ispis totala slovima -
invoice.dotpr broj otpremnice -
invoice.dnar broj narudžbenice -
invoice.ddin valuta dokumenta -
invoice.ddest destinacija dokumenta -
invoice.dtdok tip dokumenta -
invoice.drj radna jedinica -
invoice.didpm id prodajnog mjesta -
invoice.dsign linija za potpis -
invoice.dveza vezni dokumenti tekućeg dokumenta koristi se kod unosa fakture da se navedu vezni dokuemnti, recimo RNAL
invoice.fisc broj fiskalnog računa ako postoji veza bit će ispisan broj fiskalnog računa, ako ne onda 0

2.3 Podaci zaglavlja

Varijabla opis napomene
invoice.fnaz naziv firme -
invoice.fadr adresa firme -
invoice.fid id broj -
invoice.ftel telefon -
invoice.feml email - web podaci -
invoice.fbnk banke -
invoice.fdt1 dodatni tekst zaglavlja 1 -
invoice.fdt2 dodatni tekst zaglavlja 2 -
invoice.fdt3 dodatni tekst zaglavlja 3 -

2.4 Podaci kupca

Varijabla opis napomene
invoice.knaz naziv kupca -
invoice.kadr adresa -
invoice.kid id broj -
invoice.ktel telefon -
invoice.kfax fax -
invoice.kptt ptt -
invoice.kmj mjesto -
invoice.kpbr poreski broj ovo je onaj sa 5 brojeva

2.5 Tekst na kraju fakture

Varijabla opis napomene
invoice.text.row red dodatnog teksta pristupa se putem skripte na fakturi, pošto ima više subnod-ova sa varijablom row (*)

2.6 Stavke fakture

Varijabla opis napomene
invoice.item.rbr redni broj stavke pristupa se putem skripte na fakturi (**)
invoice.item.pbr podbroj rednog broja -
invoice.item.id id artikla -
invoice.item.naz naziv artikla -
invoice.item.jmj jedinica mjere -
invoice.item.kol količina -
invoice.item.cpdv cjena sa pdv-om -
invoice.item.cbpdv cjena bez pdv-a -
invoice.item.c2pdv cjena sa pdv-om (+ popust) -
invoice.item.c2bpdv cjena bez pdv-a (+ popust) -
invoice.item.pop popust -
invoice.item.ppdv procenat pdv-a -
invoice.item.vpdv iznos pdv-a -
invoice.item.ukbpdv ukupno stavka - bez pdv-a -
invoice.item.ukpdv ukupno stavka sa pdv-om -
invoice.item.uk2bpdv ukupno stavka - bez pdv-a sa popustom -
invoice.item.uk2pdv ukupno stavka sa pdv-om sa popustom -
invoice.item.ptp procenat popusta na teret prodavca -
invoice.item.vtp vrijednost popusta na teret prodavca -
invoice.item.c1 dodatno polje c1 za prikaz -
invoice.item.c2 dodatno polje c2 za prikaz -
invoice.item.c3 dodatno polje c3 za prikaz -
invoice.item.opis dodatno polje opis za prikaz -

3. Skripte koje se koriste za template

Da bi browsali u tabeli stavke iz invoice.item na tabeli u template-u treba da insertujemo skriptu koja će imati sljedeći sadržaj

  • script type = JOOScript
  • txt =
    @table:table-row
    [#list invoice.item as it]
    @/table:table-row
    [/#list]
    

zatim u tabeli stavljamo ${it.id} recimo itd...

Da bi browsali sadržaj dodatnog teksta invoice.text.row, u template stavljamo još jednu skriptu

  • script type = JOOScript
  • txt =
    @text:p
    [#list invoice.text as txt]
    @/text:p
    [/#list]
    

ovim ćemo dobiti sve linije dodatnog teksta na kraju fakture

Da bi browsali po sekcijama dokumenta treba da dodamo ovakvu skriptu

@text:section
[#list invoice.item as it]
@/text:section
[/#list]

tada ćemo dobiti sve linije po sekcijama

4. Kako se poziva i koristi opcija štampe u ODT formatu ?

Prije svega, potrebno je instalirati OpenOffice v3 ili veći, te raspakovati bring.out java komponente u direktorij c:\bout\

4.1. Ručno pozivanje opcije

na lokaciji c:\ imamo:

  • template fajl fakture templ.odt
  • data.xml, fajl sa podacima fakture

pozivamo na sljedeći način

c:\> java -jar c:\bout\java\jodrep.jar templ.odt data.xml out_file.odt

u fajlu out_file.odt ćemo dobiti izlaznu generisanu fakturu


vrati se na početni meni