Sijedi | 08.07.2011 14:49 |
---|---|
Predmet:Re: Fiskalizacija u FBiH Ako pod "drugu ideju" misliš na formiranje XML-a, ja sam MIP obrazac radio sa kontrolom ChilKatXml, besplatna je za dl i uz nju ima objašnjenje i primjeri na web-u. Mada meni mnoge stvari oko XML-a nisu jasne, kod MIP obrasca XML ima oblik npr.: <PodaciOPoslodavcu> <JIBPoslodavca>XXXXXXXXXXXXX</JIBPoslodavca> <NazivPoslodavca>XXXXXXXXXXXXXXXXXXX</NazivPoslodavca> <BrojZahtjeva>1</BrojZahtjeva> <DatumPodnosenja>2011-07-04</DatumPodnosenja> </PodaciOPoslodavcu> Ovi XML-ovi za Tremol ne izgledaju ovako, ima više vrijednosti (podataka) u jednom redu, red ne završava sa nazivom varijable kao i na početku itd. Al' hajd' šta je tu je. Ako sam trebao ovo napisati u nekom drugom topicu, izvinite, odskora sam na ovom forumu pa još nisam izlistao sve teme. LP |
zxz | 08.07.2011 16:13 |
---|---|
Predmet:Re: Fiskalizacija u FBiH Da to si u pravu i meni izgleda kombinacija htm-a i xml ali eto dok radi neda mi se izucavati. Dobro bi bilo kada bi nam dao link ili zakacio taj dll sa uputstvom. |
Sijedi | 08.07.2011 18:52 |
---|---|
Predmet:Re: Fiskalizacija u FBiH Za DL: http://www.chilkatsoft.com/downloads.asp Tu su i primjeri, npr ovaj: Citat: Dim xml As New ChilkatXml |
edo | 08.07.2011 21:58 |
---|---|
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) |
edo | 08.07.2011 21:59 |
---|---|
Predmet:Re: Fiskalizacija u FBiH ++++++++++++++++++++ [color=#FF3300] PrintEPSON ROUTINE[/color] CLEAR(W2_UKP) IF L1:W1_REKL = 1 L1:W1_ZAHT = 1 ELSE L1:W1_ZAHT = 2 END IF L1:W1_ZAHT = 1 L1:W1_UKR10 = 'C:\Epson\Prodaja' END IF L1:W1_ZAHT = 2 L1:W1_UKR10 = 'C:\Epson\Prodaja' END IF ~XML:CreateXMLFILE((CLIP(LEFT(FORMAT(L1:W1_UKR10,@ S35))) & '.xml'),'1.0','UTF-8','') CLEAR(KRE2:KRE_RED) KRE2:KRE_PRE = G1:W1_PRE KRE2:KRE_SRE = G1:W1_SRE KRE2:KRE_RAK = G1:W1_RAJ KRE2:KRE_BRJ = G1:W1_BRJ SET(KRE2:KeyKRE_PRE,KRE2:KeyKRE_PRE) NEXT(KREDITU) PKO:U3_SPA = KRE2:KRE_SIB GET(PKOMIT,PKO:KeyU3_SPA) IF ERROR() MESSAGE('Nema podataka za kupca') END XML:CreateParent('TremolFpServer') XML:CreateAttribute('Command', 'Receipt') XML:CreateAttribute('CompanyID', PKO:U3_MBR) XML:CreateAttribute('CompanyName', PKO:U3_NPA) XML:CreateAttribute('CompanyHQ', 'HQ') XML:CreateAttribute('CompanyAddress', PKO:U3_ADR) XML:CreateAttribute('CompanyCity', PKO:U3_MPA) XML:CreateAttribute('Description', 'Račun') IF L1:W1_REKL = 1 XML:CreateAttribute('RefundReceipt', '1') END XML:AddParent() CLEAR(KRE2:KRE_RAK) KRE2:KRE_PRE = G1:W1_PRE KRE2:KRE_SRE = G1:W1_SRE KRE2:KRE_RAK = G1:W1_RAJ KRE2:KRE_BRJ = G1:W1_BRJ SET(KRE2:KeyKRE_PRE,KRE2:KeyKRE_PRE) LOOP NEXT(KREDITU) IF ERROR() THEN BREAK. IF KRE2:KRE_PRE <> G1:W1_PRE OR KRE2:KRE_SRE <> G1:W1_SRE OR KRE2:KRE_RAK <> G1:W1_RAJ OR KRE2:KRE_BRJ <> G1:W1_BRJ THEN BREAK. G1:W1_ART += 1 ! 2 Naziv artikla MPA:MA_ART = KRE2:KRE_ART GET(MPART,MPA:KeyMA_ART) L1:WU_NAR = MPA:MA_NAR[1:30] L1:WIZ_NAR = CLIP(LEFT(FORMAT(KRE2:KRE_ART,@n_6))) & ' ' & CLIP(LEFT(FORMAT(L1:WU_NAR,@S30))) L1:W1_UKR2 = CHOOSE(LEN(CLIP(L1:WIZ_NAR))>36,L1:WIZ_NAR[1:36],CLIP(L1:WIZ_NAR)) !------------------------------------------------- ------------------------------------------- ! 3 Cijena W1_RAB = 0 W1_UKP = KRE2:KRE_KOL * KRE2:KRE_PCI W2_UKP += W1_UKP ! Kraj cijena XML:CreateParent('Item') XML:CreateAttribute('Description', L1:W1_UKR2) XML:CreateAttribute('Quantity', CLIP(LEFT(FORMAT(KRE2:KRE_KOL,@n_9.3)))) XML:CreateAttribute('Price', CLIP(LEFT(FORMAT(KRE2:KRE_PCI,@n_9.2)))) XML:CreateAttribute('VatInfo', '1') XML:CreateAttribute('Department', KRE2:KRE_RAK) XML:CreateAttribute('Discount', CLIP(LEFT(FORMAT(W1_RAB,@n_6.2)))) XML:CreateAttribute('UnitName', CLIP(LEFT(MPA:MA_JEM))) XML:AddParent(True) ! Ako je reklamni račun IF L1:W1_REKL = 1 AND KRE2:KRE_KOL < 0 KRE2:KRE_KOL = KRE2:KRE_KOL * -1 END END L1:W1_VPL = 4 IF L1:W1_VPL = 1 L1:W1_GPL = 'Gotovina' END IF L1:W1_VPL = 2 L1:W1_GPL = 'Kartica' END IF L1:W1_VPL = 3 L1:W1_GPL = 'Cek' END IF L1:W1_VPL = 4 L1:W1_GPL = 'Virman' END XML:CreateParent('Payment') XML:CreateAttribute('Type', L1:W1_GPL) XML:CreateAttribute('Amount', CLIP(LEFT(FORMAT(W2_UKP,@n_9.2)))) XML:AddParent(True) XML:CloseParent('TremolFpServer') XML:CloseXMLFILE() ELSE MESSAGE('Greska pri kreiranju XML datoteke') END |
amir | 13.07.2011 15:57 |
---|---|
Predmet:Re: Fiskalizacija u FBiH Pozz, dali je neko nesto radio za "best-ba" kase, dali je sintaksa kao od tremola ili nesto posebno? ![]() kakva su vasa iskustva |
miro35 | 14.07.2011 08:16 |
---|---|
Predmet:Re: Fiskalizacija u FBiH Odlične su.Imaš u gotovim rješenjima za fiskalne uređaje primjer koji je za HCP BestBa. |
Sijedi | 14.07.2011 08:52 |
---|---|
Predmet:Re: Fiskalizacija u FBiH Poz, Opet ja s pitanjem. Naime rečeno je da naziv artikla ne smije sadržavati određene znakove, odnosi li se to i na naziv kupca, konkretno gotovo svi kupci su mi upisani s korištenjem navodnika i ovako u probnom radu FP server mi javlja grešku: >"izraz" is an unexpected token< Šta raditi sad ako se u bazi nalazi više stotina kupaca s navodnicima, a aplikacija nazive koristi i kao "index" u nekim pretragama ? Hvala ! |
miro35 | 14.07.2011 09:56 |
---|---|
Predmet:Re: Fiskalizacija u FBiH Pogledaj temu "Fiskalni uređaji nazivi artikala ".Istu funkciju koristi za nazive kupaca u klijent računu.Znači nije bitno kako ime kupca napišeš u bazi ova funkcija ti skrati naziv kupca na određen broj mjesta isto tako uklanja ove znakove:" ' = & % $ / * - + itd.. Probaj to iskoristit. |
zxz | 14.07.2011 10:13 |
---|---|
Predmet:Re: Fiskalizacija u FBiH Za Sijedi. Ukoliko ne uspijes sam rijesiti ovo gore sto je miro35 napisao zakaci primjer u novu temu pa cemo pomoci. Za Edo: Postoji u acceescu naredba export xml. Takodje postoji activx koji upravo slaze podatke hijerarhijski. Mi smo ovo radili ovako na pocetku kada su se radile prijave za poresko. Problem je u tome sto je mdb relacijski model podataka i treba ga presloziti u hijerarhijski koji koristi xml. I kod tebe je neka tree naredba jer vidim da je sintaksa ista. |