Predmet:Re: Fiskalizacija u FBiH
Pogledajte kako to Clarion exlentno radi: [size=small][/size]
Cod za Trin:
[color=#FF3333]Tring ROUTINE[/color]
IF L1:W1_REKL = 0
G1:W1_ZAHT = 1
ELSE
G1:W1_ZAHT = 2
END
IF G1:W1_ZAHT = 1
L1:W1_UKR10 = 'C:\Tring\XML\Sfr'
END
IF G1:W1_ZAHT = 2
L1:W1_UKR10 = 'C:\Tring\XML\Srr'
END
IF ~XML:CreateXMLFILE(CLIP(LEFT(FORMAT(L1:W1_UKR10,@S
16) & '.xml')),'1.0','UTF-8','')
! IF ~XML:CreateXMLFILE((CLIP('C:\Kasa\Prodaja.xml')),'1.0','UTF-8','')
XML:CreateParent('RacunZahtjev')
XML:CreateAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance')
XML:CreateAttribute('xmlns:xsd', 'http://www.w3.org/2001/XMLSchema')
XML:AddParent()
! Slog - 1
! RacunZahtijev
XML:AddElement('BrojZahtjeva',GLO:W1_BRJ)
XML:AddElement('VrstaZahtjeva',G1:W1_ZAHT)
! Slog - 2
! Racun
! --------------------------------------------------
-------
XML:CreateParent('NoviObjekat')
XML:AddParent()
! G1:W1_DAD = TODAY()
! G1:W1_VRIJEM = CLOCK()
!
! G1:W1_DATVRI = CLIP(FORMAT(G1:W1_DAD,@D10-)) & 'T' & CLIP(LEFT(FORMAT(G1:W1_VRIJEM,@T4))) & '+02:00'
!
! XML:AddElement('Datum', G1:W1_DATVRI)
! Slog - 3
! Kupac
! PKO:U3_SPA = STAK1:KAS1_KUP
! GET(PKOMIT,PKO:KeyU3_SPA)
! XML:CreateParent('Kupac')
! XML:AddParent(True)
! XML:AddElement('IDbroj', PKO:U3_MBR)
! XML:AddElement('Naziv', PKO:U3_NPA)
! XML:AddElement('Adresa', PKO:U3_ADR)
! XML:AddElement('PostanskiBroj', PKO:U3_PBR)
! XML:AddElement('Grad', PKO:U3_MPA)
!
! XML:CloseParent('Kupac')
! Slog - 4
! Stavke racuna
!-------------------------------------------------
-------------
XML:CreateParent('StavkeRacuna')
XML:AddParent()
CLEAR(L1:WF_MVR)
CLEAR(L1:WF_POP)
CLEAR(L1:WF_UKP)
CLEAR(L1:WFU_UKP)
STAK1:KAS1_PRE = GLO:W1_PRE
STAK1:KAS1_RAD = GLO:W1_RAD
STAK1:KAS1_OPE = GLO:W1_OPE
STAK1:KAS1_BRJ = GLO:W1_BRJ
SET(STAK1:KeyBROJRACUNA,STAK1:KeyBROJRACUNA)
LOOP
NEXT(STAK13)
IF ERROR() THEN BREAK.
IF STAK1:KAS1_PRE <> GLO:W1_PRE OR STAK1:KAS1_RAD <> GLO:W1_RAD OR STAK1:KAS1_OPE <> GLO:W1_OPE OR STAK1:KAS1_BRJ <> GLO:W1_BRJ THEN BREAK.
! 2 Naziv artikla
MPA:MA_ART = STAK1:KAS1_ART
GET(MPART,MPA:KeyMA_ART)
L1:WU_NAR = MPA:MA_NAR[1:25]
! L1:WIZ_NAR = CLIP(LEFT(FORMAT(L1:WU_NAR,@S32)))
L1:WIZ_NAR = CLIP(LEFT(FORMAT(STAK1:KAS1_ART,@n_6))) & ' ' & CLIP(LEFT(FORMAT(L1:WU_NAR,@S25)))
L1:W1_UKR2 = CHOOSE(LEN(CLIP(L1:WIZ_NAR))>32,L1:WIZ_NAR[1:32],CLIP(L1:WIZ_NAR))
! 3 Cijena
W1_VVR = STAK1:KAS1_KOL * STAK1:KAS1_PCI
W1_MVR = STAK1:KAS1_KOL * STAK1:KAS1_PCI
IF (STAK1:KAS1_KUS > 0)
W1_POP = W1_VVR * (STAK1:KAS1_KUS / 100)
ELSE
W1_POP = 0
END
W1_UKP = W1_VVR - W1_POP
IF (MPA:MA_POU > 0)
W1_KF1 = MPA:MA_POU / (MPA:MA_POU + 100)
ELSE
W1_KF1 = 0
END
IF (MPA:MA_TAR > 0)
W1_KF2 = REP:MP_OSP / (REP:MP_OSP + 100)
ELSE
W1_KF2 = 0
END
IF (STAK1:KAS1_TAR > 0)
W1_PJK = W1_UKP * W1_KF2
ELSE
W1_PJK = 0
END
L1:W1_VRP = W1_VVR - W1_POP - W1_PJK
L1:W1_UKU = L1:W1_VRP + W1_PJK
L1:WF_MPC = L1:W1_UKU / STAK1:KAS1_KOL
L1:WFU_UKP += L1:W1_UKU
L1:W1_UKR3 = CLIP(LEFT(FORMAT(L1:WF_MPC,@n_9.2))) & ';'
! Stavka u računu (Račun Stavka)
XML:CreateParent('RacunStavka')
XML:AddParent()
! Slog - 5
! Artikal
XML:CreateParent('artikal')
XML:AddParent()
XML:AddElement('Sifra', CLIP(LEFT(FORMAT(STAK1:KAS1_ART,@N_6))))
XML:AddElement('Naziv', L1:W1_UKR2)
XML:AddElement('JM', CLIP(LEFT(FORMAT(MPA:MA_JEM,@s2))))
XML:AddElement('Cijena', CLIP(LEFT(FORMAT(STAK1:KAS1_PCI,@n_9.2))))
XML:AddElement('Stopa', 'E')
XML:CloseParent('artikal')
! Slog - 6
! Kolicina
! Ako je reklamni račun
IF L1:W1_REKL = 1 AND STAK1:KAS1_KOL < 0
STAK1:KAS1_KOL = STAK1:KAS1_KOL * -1
END
XML:AddElement('Kolicina', CLIP(LEFT(FORMAT(STAK1:KAS1_KOL,@n_9.3))))
XML:AddElement('Rabat', CLIP(LEFT(FORMAT(STAK1:KAS1_KUS,@n_6.2))))
XML:CloseParent('RacunStavka')
END
XML:CloseParent('StavkeRacuna')
! Kraj stavki računa
IF G1:W1_VPL = 1
G1:W1_VRNAPLA = 'Gotovina'
END
IF G1:W1_VPL = 2
G1:W1_VRNAPLA = 'Kartica'
END
IF G1:W1_VPL = 3
G1:W1_VRNAPLA = 'Cek'
END
IF G1:W1_VPL = 4
G1:W1_VRNAPLA = 'Virman'
END
XML:CreateParent('VrstePlacanja')
XML:AddParent()
XML:CreateParent('VrstaPlacanja')
XML:AddParent()
XML:AddElement('Oznaka', G1:W1_VRNAPLA)
XML:AddElement('Iznos', CLIP(LEFT(FORMAT(0,@n_9.2))))
! XML:AddElement('Iznos', CLIP(LEFT(FORMAT(L1:WFU_UKP,@n_9.2))))
XML:CloseParent('VrstaPlacanja')
XML:CloseParent('VrstePlacanja')
! POK:POK_PRE = GLO:W1_PRE
! GET(PORUK,POK:KeyPOKPREU)
XML:AddElement('Napomena', 'Hvala na posjeti !')
XML:AddElement('BrojRacuna', GLO:W1_BRJ)
XML:CloseParent('NoviObjekat')
XML:CloseParent('RacunZahtjev')
XML:CloseXMLFILE()
ELSE
MESSAGE('Greska pri kreiranju XML datoteke')
END
SET(DOKAS1)
NEXT(DOKAS1)
DOK3:DKA1_BRJ += 1
PUT(DOKAS1)
CLEAR(G1:W2_EUR)
CLEAR(G1:W2_UKP)
CLEAR(G1:W2_DVR)
CLEAR(G1:W2_POP)
CLEAR(G1:W1_UPL)
CLEAR(G1:WU_DVR)
CLEAR(G1:WU_OST)
CLEAR(G1_W1_IPO)
CLEAR(GLO:W1_BKO)
CLEAR(G1:W1_PIM)
CLEAR(G1:W1_OZN)