Prikazi cijelu temu 08.07.2011 21:58
edo Van mreze
Clan
Registrovan od:15.03.2011
Lokacija:Živinice


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)