06.08.2015 Views

Integracija softverskih rješenja sa Tring fiskalnih uređajima

Uputstvo za integraciju sa Tring fiskalnim printerima

Uputstvo za integraciju sa Tring fiskalnim printerima

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

TRING D.O.O. Informatički Inženjering GRAČANICA<strong>Integracija</strong> <strong>softverskih</strong> <strong>rješenja</strong> <strong>sa</strong><strong>Tring</strong> <strong>fiskalnih</strong> <strong>uređajima</strong>1 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICASADRŽAJ1. PREDUSLOVI ZA INSTALACIJU .................................................................................................................. 32. INSTALACIJA ............................................................................................................................................ 33. POKRETANJE I TESTIRANJE APLIKACIJE ..................................................................................................... 54. PODEŠAVANJE OSNOVNIH PARAMETARA ................................................................................................ 65. PRIKLJUČENJE TRING FISKALNIH UREĐAJA I TESTIRANJE KOMUNIKACIJE ................................................ 96. NAČINI INTEGRACIJE PARTNERSKIH RJEŠENJA ....................................................................................... 106.1. KORIŠTENJE OBJEKATA I FUNKCIJA TRING.FISCAL.DRIVER .................................................................. 116.1.1. MICROSOFT .NET FRAMEWORK BAZIRANI PROJEKTI ................................................................. 146.1.2. „COM“ BAZIRANI PROJEKTI (Visual Basic, Delphi, Visual Fox Pro, ...) ......................................... 146.1.3. METOD DIREKTNOG SLANJA XML NAREDBE PUTEM „HTTP-POST“ METODE ............................ 146.1.4. KOPIRANJE XML DATOTEKA U KOMANDI DIREKTORIJ ............................................................... 156.1.4.1. NAČIN FORMIRANJA NAZIVA XML DATOTEKA ............................................................................ 167. ZADAVANJE KOMANDI TRING FISKALNIM UREĐAJIMA I PRIMJERI ........................................................ 167.1. Prijava na uređaja - Inicijalizacija ......................................................................................................... 167.2. Rad <strong>sa</strong> bazom artikala – UpisiArtikal, UpisiArtikle, CitajArtikal, CitajArtikle ........................................ 177.2.1. UpisiArtikal .................................................................................................................................. 187.2.2. UpisiArtikle .................................................................................................................................. 197.2.3. CitajArtikal .................................................................................................................................. 217.2.4. CitajArtikle .................................................................................................................................. 217.3. Prodaja – StampatiFiskalniRacun......................................................................................................... 237.3.1. Štampanje fiskalnog računa bez kupca ....................................................................................... 247.3.2. Štampanje fiskalnog računa <strong>sa</strong> kupcem ...................................................................................... 277.4. Reklamacija - StampatiReklamiraniRacun .......................................................................................... 307.4.1. Štampanje reklamiranog računa bez kupca ................................................................................ 317.4.2. Štampanje reklamiranog računa <strong>sa</strong> kupcem ............................................................................... 327.5. Unos i iznos novca – UnosNovca, PovratNovca ................................................................................... 347.5.1. UnosNovca .................................................................................................................................. 347.5.2. PovratNovca ................................................................................................................................ 357.6. Izvjestaji – (StampatiPresjekStanja, StampatiDnevniIzvjestaj, StampatiPeriodicniIzvjestaj) ............... 357.6.1. StampatiPresjekStanja ................................................................................................................ 357.6.2. StampatiDnevniIzvjestaj ............................................................................................................. 367.6.3. StampatiPeriodicniIzvjestaj ......................................................................................................... 367.7. Nefiskalni tekst – StampatiNefiskalniTekst .......................................................................................... 377.8. Štampanje duplikata <strong>fiskalnih</strong> dokumenata – StampatiDuplikatPresjekaStanja ................................. 387.9. Ostale funkcije – OsnovneInformacije, UpisiNaDisplej, CitajDatumIVrijeme ...................................... 397.9.1. OsnovneInformacije .................................................................................................................... 397.9.2. UpisiNaDisplej ............................................................................................................................. 427.9.3. CitajDatumIVrijeme .................................................................................................................... 438. OPIS MOGUĆIH GREŠAKA I NJIHOVO HANDLIRANJE .............................................................................. 442 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICA1. PREDUSLOVI ZA INSTALACIJUOS: Windows 98 i novijiWindows installer 3.1 ili noviji.NET framework 2.0Hardware: minimalno PIII 1GHz, 256MB RAM, 20GB HDD2. INSTALACIJAVAŽNO !!! :Molimo izvršite deinstalaciju prethodnih verzija programa: CTP1, CPT2ili v1.1. Pokrenite setup.exe2. Kliknite na next3 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICA3. Upišite putanju instalacije (x:\tring je preporučena)4. Kliknite na next4 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICA5. Sačekajte završetak instalacije i kliknite na Close.3. POKRETANJE I TESTIRANJE APLIKACIJE<strong>Tring</strong>.Fiscal se <strong>sa</strong>stoji od sljedećih komponenti:a) <strong>Tring</strong>.Fiscal.Server.exeb) <strong>Tring</strong>.Fiscal.Driver.dllc) <strong>Tring</strong>.Fiscal.POS.exe<strong>Tring</strong>.Fiscal.Server je bazna aplikacija koja služi za primanjenaredbi od strane drugih aplikacija i direktno ih proslijeđuje <strong>Tring</strong>fiskalnom printeru.Realizirana je kao standardna Windows aplikacija koja se prilikomstartanja Window<strong>sa</strong> automatski pokreće.<strong>Tring</strong>.Fiscal.Server jeste „hibridni“ http server koji prima XMLnaredbe i transformiše ih u odgovarajući format i šalje naizvršavanje <strong>Tring</strong> fiskalnom printeru.Provjeru dostupnosti <strong>Tring</strong>.Fiscal.Servera možete izvršiti tako štoćete u neki od web preglednika (IE, Firefox) ukucati mrežnu adresuračunara na kome je on instaliran uz pripadajući port.Npr. Zadana postavka je: http://localhost:8085/Preglednik će vratiti XML datoteku za uspješan pristup serveru ili jeuopće neće biti u slučaju greške.5 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICASlika 1. Uspješno instaliran i pokrenut <strong>Tring</strong>.Fiscal.Server4. PODEŠAVANJE OSNOVNIH PARAMETARAPrilikom pokretanja aplikacije pojaviće se prozor, kao na slici dole,koji ima tri taba (jezička): server, fiskalni uređaj i <strong>Tring</strong>.6 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICAU tabu-Server će se pojaviti sve trenutne postavke servera.Postavke servera se mogu mijenjati direktno na tabeli „Server“ (slikagore). Na lijevoj strani tabele (lijeva kolona) daje prikaz svihmogućih postavki, dok desna strana (kolona) služi za prikaz trenutnihpostavki kao i njihovu izmjenu.VAŽNO !!! Izmjena se vrši na način da se prvo sve vrijednosti promjene a zatimOBAVEZNO pritisne tipka „Spremi izmjene“ ! Neke postavke zahtjevaju resetiranje<strong>Tring</strong>.Fiscal.Server da bi bile odmah primjenjene. Potrebno je pritisnuti tipku„Zaustavi server“ pa zatim „Pokreni server“ !Detaljan pregled i opis postavki je dat na sljedećoj tabeli:POSTAVKAKoristi<strong>Tring</strong>FiscalZaMenadzmentBazeArtikalaOBJAŠNJENJEDa li će <strong>Tring</strong>.Fiscal.Server voditi računa obazi podataka na uređaju.Ova postavka se odnosi na komande:stampatifiskalniracun istampatireklamiraniracun.Ako je vrijednost = True, onda će drajver, uslučaju da artikal ne postoji u bazi artikalana uređaju ili da je došlo do promjene naziva,JM ili stope u zabranjenom periodu, automatskidodati novi artikal u bazu na uređaju.U slučaju da je došlo do promjene naziva, JMili stope u dozvoljenom periodu ili dopromjene cijene i u dozvoljenom i zabranjenomperiodu, onda će drajver promjeniti ovevrijednosti na <strong>sa</strong>mom uređaju.Ako je vrijednost = False,onda će drajver javiti grešku. Korisnik će <strong>sa</strong>mmorati u<strong>sa</strong>glasiti bazu artikala izmeđuvlastitog <strong>rješenja</strong> i fiskalnog uređaja.MOGUĆEVRIJEDNOSTITrueFalseValidacijaArtikalaPrijeProdajeDa li će <strong>Tring</strong>.Fiscal.Server validirati stavkeračuna prije slanja na izvšavanje.Ova postavka se odnosi na komande:stampatifiskalniracun istampatireklamiraniracun.Ako je vrijednost = True, onda će drajver,provjeriti stavke računa iz komande:a) Da li su vrijednosti cijena, količina,rabata u ispravnom formatu idozvoljenim granicamab) Da li naziv, jm, stopa i cijena artiklaodgovara istim u bazi artikala nauređajuAko je vrijednost = False,korisnik će <strong>sa</strong>m morati voditi brigu ovalidaciji.TrueFalse7 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICAZadnjiPLUAutomatskoLogiranjeComPortEmulatorIBFMIPportPauzaPriSlanjuKomandiRedni broj (PLU) zadnjeg upi<strong>sa</strong>nog artikla ubazu. Ova opcija služi <strong>Tring</strong>.Fiscal-u za bržuprijavu novih artikala u bazu na uređaju. Nijepotrebnu upisivati nikakve vrijednosti u ovojpostavci osim prilikom prvog uključenjauređaja.Preporučujemo da prilikom prvog priključenjauređaja, postavite ovu vrijednost na -1.Na ovaj način, <strong>Tring</strong>.Fiscal će sinhroniziratibazu <strong>sa</strong> uređaja <strong>sa</strong> lokalnim repozitorijem radibržeg rada. Ova sinhronizacija će se izvšitiprilikom slanja prve komande i može trajatiprilično dugo, tako da ne morate gasitiuređaj.Da li će <strong>Tring</strong>.Fiscal.Server izvšitiautomatsko logiranje na uređaj <strong>sa</strong> Operatorom-1.Ukoliko je vrijednost postavke = True, onda će<strong>Tring</strong>.Server svakih 60 sekundi izvšitilogiranje na fiskalni uređaj. Ova opcija jebitna kod <strong>Tring</strong>Favourite Plus jer prilikompaljenja uređaja, ukoliko unutar 60 sekundiuređaj ne primi komandu <strong>sa</strong> računara automatskiizlazi iz moda fiskalnog printera.Ukoliko je vrijednost postavke = False, onda<strong>Tring</strong>.Server neće izvšavati automatskologiranje.Serijski port na računaru na kome je priključenuređaj. Ova opcija se odnosi na <strong>Tring</strong>FavouritePlus.Da li će server proslijeđivati komande premauređaju ili će raditi u tzv. Emulatorskomrežimu.True – rad u Emulatorskom režimu bez slanjakomandi uređajuFalse – slanje komandi uređaju (normalan rad)Identifikacioni broj fiskalnog modula. Upi<strong>sa</strong>tiiz servisne knjižice uređaja. Prve dvijeoznake su znakovi, ostalih šest brojevi –obavezno.AB – <strong>Tring</strong>Favourite PlusAC - <strong>Tring</strong>PartnerPort na kome će <strong>Tring</strong>.Fiscal.Server očekivatikonekcije. Voditi računa o FIREWALL-u ukolikopostoji na računaru da ne blokira pristup ovomportu.Zadana vrijednost je: 8085Vremenska pauza u milisekundama pri slanjukomandi kod serijske komunikacije –<strong>Tring</strong>Favourite Plus.Zadana vrijednost je 150 i ne preporučujemo dapostavljate ovaj parametar na manje vrijednostijer može doći do „gutanja“ komandi naročito kodkomandi za štampanje fiskalnog/reklamiranogračuna.Povećanjem ove vrijednosti povećava se i vrijemeizvršavanja komandi (stampatifiskalniracun iBroj:Od 1-16000 za<strong>Tring</strong>FavouritePlusOd 1-60000 za<strong>Tring</strong>PartnerTrueFalseLista portova jedata u padajućojlisti.TrueFalseAB000010-AB500000AC000010-AC5000008085Od 150 do 5008 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICAstampatireklamiraniracun, citajartikle).RezimSprematiLogoveTrenutniZahtjevVrstaUredjajaZadnjaKomandaIPAdre<strong>sa</strong>IPGatewayIPMaskOstavljenja mogućnost implementacije naprednefunkcije koja će omogućiti rad <strong>sa</strong> VP i MPcijenama.True – sve komande i odgovori će bitispremljeni u datoteku „log.txt“ koja se nalaziu istom direktoriju kao i serverInterni broj. Molimo da ne postavljatevrijednosti.Definira uređaj koji je direktno povezan <strong>sa</strong>računarom na kome se nalazi<strong>Tring</strong>.Fiscal.Server.Dozvoljene vrijednosti su:FavouritePartnerMobikaDatum i vrijeme izvršenja zadnje komande.Molimo da ne postavljate vrijednosti.Definira IP adresu fiskalnog uređaja(<strong>Tring</strong>Partner), u slučaju da uređaj <strong>sa</strong>računarom komunicira putem TCP/IP protokola.Voditi računa o FIREWALL-u ukoliko postoji naračunaru da ne blokira pristup ovoj adresi,kao i da su uređaj i računar na istoj subnet-u(192.168.0.xxx u ovom slučaju treba bitiadre<strong>sa</strong> računara)VAŽNO !!! Zadana IP adre<strong>sa</strong> <strong>Tring</strong>Partnera je192.168.10.20Zadati gateway za <strong>Tring</strong>Partner ukoliko postojina mreži.Zadana vrijednost: 192.168.10.1IP maska za definiranje subnet-a za<strong>Tring</strong>Partner. Standardna je 255.255.255.0Bri<strong>sa</strong>tiNeuspjesneDatoteke Da li će <strong>Tring</strong>.Fiscal bri<strong>sa</strong>ti XML datoteke kojenisu izvršene tj. da li će komande bitiizvšavane sve dok se ne uspješno izvrše !EncodingXMLPutanjaXMLTimerZadano dekodiranje znakova kod izvršavanja XMLdatoteka.Putanja koju će server skenirati za XMLkomande. Odgovori se nalaze u poddirektoriju\odgovori.Vrijeme skeniranja direktorija u sekundama.Ukoliko je postavka 0 onda je skeniranjeisključeno.MaloprodajaVeleprodajaTrueFalse-1FavouritePartnerMobika192.168.10.20192.168.10.1255.255.255.0TrueFalseLista dekodiranjaje data upadajućoj listi.C:\tring\xmlOd 0 do 105. PRIKLJUČENJE TRING FISKALNIH UREĐAJA I TESTIRANJEKOMUNIKACIJENakon instalacije, podešavanja i pokretanja <strong>Tring</strong>.Fiscal.Server-a,potrebno je <strong>Tring</strong> fiskalni uređaj povezati <strong>sa</strong> računarom:a) <strong>Tring</strong>Favourite Plus – korisiti originalni komunikacijski kablisporučen uz uređaj. Uređaj je preporučljivo spojiti <strong>sa</strong> računarompreko USB-SERIAL adaptera.Upaliti uređaj. Potvrditi datum, ako je zahtjevano. Izabrati Meni„Registracija“, potvrditi ZBIR. Ukucati lozinku operatera (zadana 19 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICAza operatora broj 1). Potvrditi ZBIR. Na ekranu treba biti ispi<strong>sa</strong>no„0,00“. Pritisnuti, jednu za drugom, sljedeće tipke: SMN, PRN, NP.Tastatura treba biti blokirana. Na ovaj način je ka<strong>sa</strong> u režimufiskalnog printera. Potrebno je poslati komandu „inicijalizacija“ 60sekundi nakon ulaska u režim fiskalnog printera inače će ka<strong>sa</strong>automatski izaći iz režima fiskalnog printera.Postoji i opcija automatskog ulaska u režim fiskalnog printera odmahnakon paljenja uređaja, ali ovu opciju moraju uključiti ovlašteniserviseri.Ukoliko, nakon zadavanja komandi, uređaj izlazi iz režima fiskalnogprintera (NEMA KONTAKTA!), onda je problem <strong>sa</strong> pogrešno unešenom IOSA.IOSA mogu mijenjati <strong>sa</strong>mo ovlašteni serviseri.b) <strong>Tring</strong>Partner – koristiti standarno UTP (mrežno) kablo za komunikaciju<strong>sa</strong> uređajem. Ovaj uređaj ima jedino implementiranu Ethernet (mrežnu)komunikaciju. Zadana IP adre<strong>sa</strong> uređaja je: 192.168.10.20.Ip adre<strong>sa</strong> se može promijeniti na način objašnjen u korisničkomuputstvu koji se može skinuti <strong>sa</strong> portala: http://www.kase.baVAŽNO !!!Provjeru ispravno podešenog uređaja i <strong>Tring</strong>.Fiscal.Servera možemoprovjeriti tako što ćemo u web pregledniku ukucati sljedeću adresu:http://localhost:8085/testUređaj bi trebao odštampati nefiskalni tekst <strong>sa</strong> podacima o fiskalnomrežimu i broju IBFM.U pregledniku bi se trebala pojaviti poruka kao na slici gore.Sada je uređaj spreman za rad.6. NAČINI INTEGRACIJE PARTNERSKIH RJEŠENJAPostoji četiri načina slanja komandi za izvršavanje prema serveru:1) Putem objekata i funkcija <strong>Tring</strong>.Fiscal.Driver.dll za .NETframework bazirane tehnologije2) Putem objekata i funkcija „COM“ <strong>Tring</strong>FiscalDriver.tlb zatehnologije koje podržavaju „COM“ (VB5-6, Delphi, VisualFox Pro)3) Slanjem XML komandi direktno na server putem HTTP POST metoda(.NET, Java, Delphi,...)4) Slanjem XML datoteka na izvršenje u određeni direktorij koji„skenira“ server10 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICAKod prve tri metode, odgovor od servera se dobija direktno kroz funkcijedok je kod četvrte metode odgovor smješten u vidu datoteke uodgovarajući direktorij.6.1. KORIŠTENJE OBJEKATA I FUNKCIJA TRING.FISCAL.DRIVER<strong>Tring</strong>.Fiscal.Driver.dll je realiziran kao standardna .NET bibiliotekaobjekta i funkcija.Ovu datoteku je moguće koristiti na sljedeće načine:a) Kao dll za .NET bazirane projekte (C#, VB .NET, Java .NET, F#)b) Putem COM objekata za projekte rađene u Visual Basic 6, Delphi 7+,Visual Fox Pro 6+ i ostale alate koji podržavaju ovu tehnologiju.U prilogu su dati diagrami pojedinih kla<strong>sa</strong> iz biblioteke<strong>Tring</strong>.Fiscal.Driver.11 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICA12 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICA13 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICA6.1.1. MICROSOFT .NET FRAMEWORK BAZIRANI PROJEKTIZa korištenje objekata i funkcija <strong>Tring</strong>.Fiscal.Driver u .NETokruženju potrebno je <strong>sa</strong>mo importovati ovu biblioteku u projekat.Primjeri implementacije su dati u datoteci cs_primjeri.zip, koja senalazi u direktoriju „PRIMJERI“.6.1.2. „COM“ BAZIRANI PROJEKTI (Visual Basic, Delphi, Visual Fox Pro, ...)Da bi se koristile funkcije i objekti iz <strong>Tring</strong>.Fiscal.Driver.dllbiblioteke potrebno je generi<strong>sa</strong>ti datoteku <strong>Tring</strong>FiscalDriver.tlb,koju onda možemo importovati u projekat.Da bi registrirali datoteku <strong>Tring</strong>FiscalDriver.tlb potrebno je uraditisljedeće:1. Otvoriti direktorij u kome se nalazi datoteka: RegisterTFD.bat2. Desnom tipkom miša pritisnuti na RegisterTFD3. Izabrati opciju: „Open“ ili „Otvori“ kod Windows XP; ili „Runas Administrator“ ili „Pokreni kao Administrator“ kod WindowsVista ili Windows 7.4. U slučaju ispravne registracije u istom direktoriju će sepojaviti datoteka <strong>Tring</strong>FiscalDriver.tlb i dobiti ćete sljedećiprozor:Kao primjer implementacije ovog načina je dat projekat rađen u VB6 udatoteci: vb_primjer.zip.6.1.3. METOD DIREKTNOG SLANJA XML NAREDBE PUTEM „HTTP-POST“ METODEOvaj metod mogu koristiti sve tehnologije koje imaju mogućnostkorištenja standardnog HTTP POST. Ovaj metod se može realizirati iputem slanja „sirovih“ podataka putem TCP/IP protokola. Uslov je dapodaci budu poslani u strukturi koju zahtjeva HTTP protokol. Uzaglavlju metode se moraju navesti parametri kao što su: adre<strong>sa</strong>14 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICAnaredbe i tip podataka, dok „body“ mora <strong>sa</strong>državati odgovarajući XML<strong>sa</strong>držaj.Npr. Adre<strong>sa</strong> komande: http://localhost:8085/inicijalizacijaTip podatka: „text/xml“U nastavku su dati primjeri implementacije ovog metoda u Javi.try{String requestXML = “00”;URL url = new URL( “http://localhost:8085/inicijalizacija” );URLConnection con = url.openConnection();con.setDoInput(true);con.setDoOutput(true);con.setUseCaches (false);con.setDefaultUseCaches (false);con.setRequestProperty ( "Content-Type", "text/xml" );OutputStreamWriter writer = new OutputStreamWriter(con.getOutputStream() );writer.write( requestXml );writer.flush();writer.close();// reading the responseInputStreamReader reader = new InputStreamReader(con.getInputStream() );StringBuilder buf = new StringBuilder();char[] cbuf = new char[ 2048 ];int num;while ( -1 != (num=reader.read( cbuf ))){buf.append( cbuf, 0, num );}String result = buf.toString();System.err.println( "\nResponse from server after POST:\n" + result);}catch( Throwable t ){ t.printStackTrace( System.out );}6.1.4. KOPIRANJE XML DATOTEKA U KOMANDI DIREKTORIJDa bi <strong>Tring</strong>.Fiscal.Server mogao izvršavati XML komande potrebno je dapodesite sljedeće postavke:1. Podesite osnovnu putanju u kojoj želite slati xml datoteke. Zadanaputanja je C:\<strong>Tring</strong>\XML2. Podesite interval skeniranja direktorija od strane<strong>Tring</strong>.Fiscal.Servera u sekundama. Ako je interval 0 onda je XMLskeniranje isključeno.15 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICA6.1.4.1. NAČIN FORMIRANJA NAZIVA XML DATOTEKANazivi XML datoteka se formiraju na sljedeći način:NAZIV_KOMANDE.BROJ_ZAHTJEVANpr, ako se želi štampati fiskalni račun onda je format naziva datotekesljedeći:Stampatifiskalniracun.1045Gdje jeStampatifiskalniracun – komanda za štampanje fiskalnog računa„.“ = tačka, oznaka razdvajanja1045 – broj računa ili zahtjevaNpr, ako se želi izvršiti unos novca onda je format naziva datotekesljedeći:unosnovca.99687Gdje jeunosnovca – komanda za unos novca u uređaj„.“ = tačka, oznaka razdvajanja99687– broj zahtjeva ili slučajno generi<strong>sa</strong>n brojODGOVORI NA XML KOMANDESvi odgovori na komande su dati u vidu XML datoteke, istog naziva kao ikomanda, <strong>sa</strong>mo u poddirektoriju „/odgovori“.Tako npr. Na komandu:Stampatifiskalniracun.1045Koja je smještena u direktoriju „C:\tring\xml“, server će poslati odgovor<strong>sa</strong> istim nazivom datoteke: Stampatifiskalniracun.1045 u direktoriju„C:\tring\xml\odgovori“.Primjeri komandi i odgovarajuće XSD šeme su dati u direktoriju:/xml/primjeri.7. ZADAVANJE KOMANDI TRING FISKALNIM UREĐAJIMA I PRIMJERI7.1. Prijava na uređaja - InicijalizacijaVAŽNO !!! Inicijalizacija je OBAVEZNA prva komanda prilikom paljenja uređaja. Ova komanda treba da budeposlana prilikom logiranja korisnika u softversku aplikaciju.Ova komanda je jako važna kod <strong>Tring</strong>Favourite Plus kao što je to opi<strong>sa</strong>no na strani 10.Primjer: C#bool init = printer.Inicijalizacija("localhost", 8085, 0, "0");gdje je:localhost – mrežni naziv ili IP adre<strong>sa</strong> računara na kome je instaliran<strong>Tring</strong>.Fiscal.Server8085 – port na kome <strong>Tring</strong>.Fiscal.Server očekuje komande16 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICA0 – šifra operatera, u ovom slučaju administrator. Preporučujemo dakoristite ovog operatera jer jedino on može mijenjati i dodavati artikle.„0“ – lozinka operatera 1.Primjer: VBDim init as Booleaninit = printer.Inicijalizacija("localhost", 8085, 0, "0");Primjer: XML DatotekaNaziv datoteke: inicijalizacija.xml ili init.xmlPrimjer komande:00Primjer odgovora:200OK7.2. Rad <strong>sa</strong> bazom artikala – UpisiArtikal, UpisiArtikle, CitajArtikal, CitajArtikle<strong>Tring</strong> fiskalni uređaji posjeduju operativnu memoriju u koju je mogućesmjestiti 16.000 artikala kod <strong>Tring</strong>Favourite Plus, odnosno 60.000artikala kod <strong>Tring</strong>Partnera. Za svaki artikal se sprema naziv(uključujući jedinicu mjere), cijena i poreska stopa. Operativnamemorija je organizirana na način da je moguće adresirati svaki artikal.PLU- predstavlja memorijsku adresu-pointer, na kome se smješten određeniartikal. PLU je, dakle, kod <strong>Tring</strong>Favourite Plus od 1 do 16000 odnosno 0d1-60.000 kod <strong>Tring</strong>Partner-a. Dio operativne memorije u kome je smještenabaza artikala je izvedena kao Flash memorija, zbog onemogućavanjabri<strong>sa</strong>nja artikala čak i u slučaju nestanka baterijskog napajanjaoperativne memorije. S druge strane, ova memorija ima garantirani broj„writting cycles“, pa nije implementiran reset kompletne baze artikalanego <strong>sa</strong>mo izmjena artikala na određenoj memorijskoj lokaciji – PLU.<strong>Tring</strong>.Fiscal.Server posjeduje lokalni repozitorij (bazu) u kome susmješteni podaci o bazi artikala <strong>sa</strong> uređaja. Sinhronizacija <strong>sa</strong> bazomartikala na uređaju se vrši automatski izvšavanjem komandi upi<strong>sa</strong> iliizmjene artikala, ili postavljanjem vrijednosti ZadnjiPLU = -1, napostavkama <strong>Tring</strong>.Fiscal.Server-a.17 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICABitne postavke <strong>Tring</strong>.Fiscal.Server-a su:Koristi<strong>Tring</strong>FiscalZaMenadzmentBazeArtikala i ValidacijaArtikalaPrijeProdaje.Objašnjenje ovih komandi je dato u sekciji 4.Kla<strong>sa</strong> Artikal ima sljedeće osobine:PLU – memorijska adre<strong>sa</strong> na kojoj je smješten artikal na uređaj. Broj od 1-16000 za <strong>Tring</strong>Favourite Plus odnosno 1-60000 za <strong>Tring</strong>Partner.Ako ova osobina nije poslana uz artikal, onda će <strong>Tring</strong>.Fiscal pronaćigdje se nalazi ovaj artikal u bazi na uređaju.Sifra – šifra artikla iz sofverske aplikacije. Može biti znakovna ibrojčana vrijednost do 50 karaktera. Šifra može biti identična PLU.Naziv – naziv artikla. Zajedno <strong>sa</strong> JM, može biti do 36 karaktera kod<strong>Tring</strong>Favourite Plus odnosno do 32 znaka kod <strong>Tring</strong>Partnera.Razdvajanje naziva i JM je „/“ (slash). <strong>Tring</strong>.Fiscal automatskiformatira naziv i jm prema opi<strong>sa</strong>nom algoritmu.JM – jedinica mjere artikla. Maximalno 2 karaktera. <strong>Tring</strong>.Fiscal automatskiformatira naziv i jm prema opi<strong>sa</strong>nom algoritmu.Stopa – poreska stopa artikla.Dozvoljenje vrijednosti za korisnike koji su PDV obveznici su: E i K,gdje je E –opšta stopa (17%), K-stopa za artikle oslobođenje plaćanjaPDV (0%).Dozvoljene vrijednosti za korisnike koji nisu u sistemu PDV su: A,gdje je A –stopa (0%) za korisnike koji nisu u sistemu PDV.Cijena – cijena artikla. Dozvoljeni raspon: 0.01 do 9 999 999.99 (7+2).<strong>Tring</strong>.Fiscal će automatski validirati ove vrijednosti prilikom upi<strong>sa</strong>artikla i prodaje.VAŽNO!!! Zabranjeno je mijenjati naziv, jm i stopu artikla na određenom PLU uzabranjenom periodu. Ako su uključene opcije„Koristi<strong>Tring</strong>FiscalZaMenadzmentBazeArtikala i ValidacijaArtikalaPrijeProdaje,<strong>Tring</strong>.Fiscal će, prilikom promjene naziva, jm i stope artikla u zabranjenomperiodu, automatski dodati isti pod novim PLU.7.2.1. UpisiArtikalC#Artikal art = new Artikal();art.PLU = 0; //neka <strong>Tring</strong>.Fiscal pronađe artikal ili ga smjesti artikal nanovu lokaciju. Opcije: ValidacijaArtikalaPrijeProdaje iKoristi<strong>Tring</strong>FiscalZaMenadzmentBazeArtikala moraju biti postavljenje natrue.art.Sifra = „15“ //<strong>sa</strong>mo brojevi ipakart.Naziv = „Testni artikal 15“;art.JM = „kom“;art.Cijena = 2.88;art.Stopa = VrstePoreskihStopa.E_Opca_poreska_stopa_PDV;//dodati u printerodgovor = printer.UpisiArtikal(art);if (odgovor.VrstaOdgovora == VrsteOdgovora.OK){Debug.WriteLine(art.Naziv + ":OK");}18 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICAVisual Basic 6XML KomandeNaziv komande datoteke: upisiartikal.xml ili ua.xmlPrimjer komande:59248910521Novi artiklaff59E00Primjer odgovora:OK5533253257.2.2. UpisiArtikleC#ArtikalList listaArtikala = new ArtikalList();Artikal art = new Artikal();art.PLU = 0; //neka <strong>Tring</strong>.Fiscal pronađe artikal ili ga smjesti artikal nanovu lokaciju. Opcije: ValidacijaArtikalaPrijeProdaje iKoristi<strong>Tring</strong>FiscalZaMenadzmentBazeArtikala moraju biti postavljenje natrue.art.Sifra = "15";art.Naziv = "Testni artikal 15";art.JM = "kom";art.Cijena = 2.88;art.Stopa = VrstePoreskihStopa.E_Opca_poreska_stopa_PDV;listaArtikala.Dodaj(art);Artikal art2 = new Artikal();art2.PLU = 0; //neka <strong>Tring</strong>.Fiscal pronađe artikal ili ga smjesti artikal nanovu lokaciju. Opcije: ValidacijaArtikalaPrijeProdaje iKoristi<strong>Tring</strong>FiscalZaMenadzmentBazeArtikala moraju biti postavljenje natrue.art2.Sifra = "20";art2.Naziv = "Testni artikal 20";art2.JM = "kom";art2.Cijena = 12.88;19 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICAart2.Stopa =VrstePoreskihStopa.K_Poreska_stopa_PDV_za_artikle_oslobodjene_PDV;listaArtikala.Dodaj(art2);//dodati u printerodgovor = printer.UpisiArtikle(listaArtikala);if (odgovor.VrstaOdgovora == VrsteOdgovora.OK){Debug.WriteLine("OK");}Visual Basic 6XML KomandeNaziv komande datoteke: upisiartikle.xml ili uae.xmlPrimjer komande:0021Novi artiklaff59E0022ovo je artikal 22ff2399K00Primjer odgovora:Greska20 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICAC#7.2.3. CitajArtikalArtikal art = printer.CitajArtikal(1);Visual Basic 6XML KomandeNaziv komande datoteke: citajartikal.xml ili ca.xmlPrimjer komande:1Primjer odgovora:1Prvi artikalkg2.22E01C#7.2.4. CitajArtikleArtikalList art = printer.CitajArtikle(1,10);Visual Basic 6XML KomandeNaziv komande datoteke: citajartikle.xml ili cae.xmlPrimjer komande:110Primjer odgovora:1Prvi artikalkg2.22E0021 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICA2Moj artikalkg10.33E003Neki artikalm23.33E004Novi artikal4m20.99E005Deleted 22hh22E006Sasvim novikk66.33E007Artikal 7jm3.69E008NESQUIK3.24E0022 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICA9Artikal 9258K0010nihadko2.55K00VAŽNO !!!pravila:7.3. Prodaja – StampatiFiskalniRacunPrilikom izvršavanja komande štampe fiskalnog računa vrijede sljedećaa) Operator mora biti logiran preko komande inicijalizacijab) Artikli moraju biti spremljeni u bazu podataka prije izvšavanja komandeako su opcije Koristi<strong>Tring</strong>FiscalZaMenadzmentBazeArtikala iValidacijaArtikalaPrijeProdaje postavljene na false.c) Maximalan broj stavki na računu kod <strong>Tring</strong>Favourite Plus je 95 dok jekod <strong>Tring</strong>Partner 500.d) Količina prodaje artikla mora biti u rasponu od 0.01 do 999 999.999e) Rabat mora biti u rasponu od 0 do 99.99 (%). Ukoliko je rabat u minusuonda je to uvećanje stavke za postotak rabata.f) Kupci se ne moraju prethodno unositi u bazu unutar uređaja zbogpostojanja elektronskog žurnala. Dovoljno je <strong>sa</strong>mo definirati osobineklase Kupac.g) Ako je račun prema krajnjim kupcima, onda se kla<strong>sa</strong> Kupac može kompletnoizostaviti iz komande. Drajver će automatski izostaviti kupca i uslučaju kada je pogrešno definiran JIB kupca.h) Dozvoljeni iznosi plaćanja su: Gotovina, Cek, Kartica i Virman.i) Moguće je plaćanje računa <strong>sa</strong> više načina plaćanja. Npr. Ako je iznosračuna 100KM onda se dio može platiti, recimo, u Gotovini-20KM, 30KMCek, 40KM Virman, 10 Kartica.j) Ukoliko je iznos vrste plaćanja = 0, onda se kompletan ostatak računaili kompletan iznos računa plaća tom vrstom plaćanja. <strong>Tring</strong>.Fiscal ćezanemariti naredne vrste plaćanja.Npr. Iznos računa je 100KM:_printer.DodajVrstuPlacanja(VrstePlacanja.Gotovina,10)_printer.DodajVrstuPlacanja(VrstePlacanja.Cek,0)_printer.DodajVrstuPlacanja(VrstePlacanja.Virman,10)23 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICA<strong>Tring</strong>.Fiscal će zanemariti vrstu plaćanja – Virman, jer je dio računa –10 KM plaćen Gotovinom, a ostatak – 90 Cekom.k) Ukoliko nije definirana vrsta plaćanja kroz komandu, onda jepodrazumjevani način plaćanja Gotovina.l) Plaćanje Cekom i Karticom ne može biti veće od izno<strong>sa</strong> računa.m) Ukoliko je plaćanje veće od izno<strong>sa</strong> računa, onda će na računu bitiprikazan POVRAT za tu razliku (kusur). Povrat je moguć jedino uGotovini.n) Ukoliko dođe do greške tokom štampanja stavki računa, cijeli račun ćese stornirati.Osobine klase Kupac:IDBroj – jedinstveni identifikacioni broj kupca – 13 brojevaPDVBroj – PDV broj kupca (12 brojeva) – neobavezanNaziv – naziv kupca do 32 znakaAdre<strong>sa</strong> – adre<strong>sa</strong> kupca 32 znakaPostanskiBroj – poštanski broj – 5 brojevaGrad – grad ili mjesto kupca: kod <strong>Tring</strong>Favourite Plus – 12 znakovakod <strong>Tring</strong>Partner – 26 znakovaKod <strong>Tring</strong>Favourite Plus, <strong>Tring</strong>.Fiscal će u slučaju da je Adre<strong>sa</strong> veća od 16znakova a Naziv manji od 16, uzeti 32 znaka za Adresu, i obratno.Prilikom štampe, <strong>Tring</strong>Partner koristi brzu štampu 17 po 17 stavki računa.Ako je broj stavki računa preko 100, onda će se štampati baferno po 100stavki.Ukoliko je došlo do „zaglavljivanja“ prilikom štampanja računa, trebakoristiti komandu „PrekiniRacun“.7.3.1. Štampanje fiskalnog računa bez kupcaC#Ka<strong>sa</strong>Odgovor odgovor = new Ka<strong>sa</strong>Odgovor();OleDbConnection con = newOleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=..\..\..\..\..\VB6\pos.mdb");OleDbCommand command = new OleDbCommand("select * fromKOMITENTI where JIB=1234567890123", con); //komitent na računuOleDbDataReader dr;try{//otvoriti konekcijucon.Open();//novi racunRacun _racun = new Racun();//u slučaju reklamiranoga računa ovdje ide broj fiskalnogračuna koji se reklamira_racun.BrojRacuna = "1";//učitavanje stavki iz računa24 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICAcommand.CommandText = "SELECT RACUNI_STAVKE.BrojStavke,RACUNI_STAVKE.BrojRacuna, RACUNI_STAVKE.Artikal, RACUNI_STAVKE.Kolicina,RACUNI_STAVKE.Cijena, RACUNI_STAVKE.Rabat, ARTIKLI.Naziv, ARTIKLI.JM,ARTIKLI.StopaPDV " +"FROM RACUNI_STAVKE INNER JOIN ARTIKLION RACUNI_STAVKE.Artikal = ARTIKLI.Sifra " +" where RACUNI_STAVKE.BrojRacuna=1";//može ići i parametardr = command.ExecuteReader();while (dr.Read()){RacunStavka _stavka = new RacunStavka();//artikalArtikal art = new Artikal();art.Sifra = dr.GetValue(2).ToString();art.Naziv = dr.GetString(6);art.JM = dr.GetString(7);art.Stopa = (VrstePoreskihStopa)dr.GetInt16(8);art.Cijena = (double)dr.GetValue(4);_stavka.artikal = art;_stavka.Kolicina = (double)dr.GetValue(3);_stavka.Rabat = (double)dr.GetValue(5);_racun.DodajStavkuRacuna(_stavka);}dr.Close();//unijeti način plaćanja//kada je iznos 0 to znači kompletan iznos ide za tu vrstuplaćanja//prema Zakonu, mora se omogućiti da jedan račun budeplaćen na više vrsta plaćanja//npr. ako je iznos računa 110 KM, treba omogućiti da 100bude plaćano Karticom a 10 u Gotovini_racun.DodajVrstuPlacanja(VrstePlacanja.Virman, 0);//dodati u printerif (fiskalniracun){odgovor = printer.StampatiFiskalniRacun(_racun);}else {odgovor = printer.StampatiReklamiraniRacun(_racun);}if (odgovor.VrstaOdgovora == VrsteOdgovora.OK){Debug.WriteLine("OK");for (int i = 0; i < odgovor.Odgovori.Count; i++){Debug.WriteLine(String.Format("{0}:{1}",odgovor.Odgovori[i].Naziv,odgovor.Odgovori[i].Vrijednost.ToString()));//if (odgovor.Odgovori[i].Naziv =="BrojFiskalnogRacuna")//{// ////}}}con.Close();25 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICAVisual Basic 6}catch (Exception ex){}Mes<strong>sa</strong>geBox.Show(ex.Mes<strong>sa</strong>ge);XML KomandeNaziv komande datoteke: stampatifiskalniracun.xml ili sfr.xmlPrimjer komande:23302Moj artikalkg10.33E0210Gotovina0Hvala na posjeti !!!0Primjer odgovora:OKBrojFiskalnogRacuna35DatumFiskalnogRacuna9.1.1126 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICAVrijemeFiskalnogRacuna13:20IznosFiskalnogRacuna0OK07.3.2. Štampanje fiskalnog računa <strong>sa</strong> kupcemC#Ka<strong>sa</strong>Odgovor odgovor = new Ka<strong>sa</strong>Odgovor();OleDbConnection con = newOleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=..\..\..\..\..\VB6\pos.mdb");OleDbCommand command = new OleDbCommand("select * fromKOMITENTI where JIB=1234567890123", con); //komitent na računuOleDbDataReader dr;try{//otvoriti konekcijucon.Open();//novi racunRacun _racun = new Racun();//u slučaju reklamiranoga računa ovdje ide broj fiskalnogračuna koji se reklamira_racun.BrojRacuna = "1";//dodati kupca ako postojiKupac kup = new Kupac();dr = command.ExecuteReader();while (dr.Read()){kup.IDbroj = dr.GetDouble(0); //<strong>sa</strong>mo brojevi ipakkup.Naziv = dr.GetString(1);kup.Adre<strong>sa</strong> = dr.GetString(2);kup.PostanskiBroj = int.Parse(dr.GetString(3));kup.Grad = dr.GetString(4);}dr.Close();//dodijeliti kupca_racun.Kupac = kup;//učitavanje stavki iz računacommand.CommandText = "SELECT RACUNI_STAVKE.BrojStavke,RACUNI_STAVKE.BrojRacuna, RACUNI_STAVKE.Artikal, RACUNI_STAVKE.Kolicina,RACUNI_STAVKE.Cijena, RACUNI_STAVKE.Rabat, ARTIKLI.Naziv, ARTIKLI.JM,ARTIKLI.StopaPDV " +"FROM RACUNI_STAVKE INNER JOIN ARTIKLION RACUNI_STAVKE.Artikal = ARTIKLI.Sifra " +" where RACUNI_STAVKE.BrojRacuna=1";//može ići i parametardr = command.ExecuteReader();27 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICAwhile (dr.Read()){RacunStavka _stavka = new RacunStavka();//artikalArtikal art = new Artikal();art.Sifra = dr.GetValue(2).ToString();art.Naziv = dr.GetString(6);art.JM = dr.GetString(7);art.Stopa = (VrstePoreskihStopa)dr.GetInt16(8);art.Cijena = (double)dr.GetValue(4);_stavka.artikal = art;_stavka.Kolicina = (double)dr.GetValue(3);_stavka.Rabat = (double)dr.GetValue(5);_racun.DodajStavkuRacuna(_stavka);}dr.Close();//unijeti način plaćanja//kada je iznos 0 to znači kompletan iznos ide za tu vrstuplaćanja//prema Zakonu, mora se omogućiti da jedan račun budeplaćen na više vrsta plaćanja//npr. ako je iznos računa 110 KM, treba omogućiti da 100bude plaćano Karticom a 10 u Gotovini_racun.DodajVrstuPlacanja(VrstePlacanja.Virman, 0);//dodati u printerif (fiskalniracun){odgovor = printer.StampatiFiskalniRacun(_racun);}else {odgovor = printer.StampatiReklamiraniRacun(_racun);}if (odgovor.VrstaOdgovora == VrsteOdgovora.OK){Debug.WriteLine("OK");for (int i = 0; i < odgovor.Odgovori.Count; i++){Debug.WriteLine(String.Format("{0}:{1}",odgovor.Odgovori[i].Naziv,odgovor.Odgovori[i].Vrijednost.ToString()));//if (odgovor.Odgovori[i].Naziv =="BrojFiskalnogRacuna")//{// ////}}}con.Close();}catch (Exception ex){Mes<strong>sa</strong>geBox.Show(ex.Mes<strong>sa</strong>ge);28 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICAVisual Basic 6}XML KomandeNaziv komande datoteke: stampatifiskalniracun.xml ili sfr.xmlPrimjer komande:23301234567890123<strong>Tring</strong> d.o.o. Informatički InženjMehmeda Vehbi ef. Šemsekadića bb75320Gračanica2Moj artikalkg10.33E0210Gotovina0Hvala na posjeti !!!233Primjer odgovora:OKBrojFiskalnogRacuna36DatumFiskalnogRacuna9.1.1129 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICAVrijemeFiskalnogRacuna13:29IznosFiskalnogRacuna0OK2337.4. Reklamacija - StampatiReklamiraniRacunVAŽNO !!! Prilikom izvršavanja komande štampe reklamiranog računa vrijede istapravila kao i kod fiskalnog računa (vidjeti poglavlje 7.3) kao i dodatna:a) Obavezno je postaviti osobinu „BrojRacuna“ na broj fiskalnog računa nakoji se odnosi reklamacija, u komandi za štampu reklamiranoga.b) Potrebno je imati dovoljan iznos Gotovine u kasi za izdavanjereklamiranog računa. Ako je npr. Iznos reklamiranog računa 100KM, ondaje potrebno imati najmanje 100KM Gotovine u kasi.c) Povrat novca od reklamiranog računa je moguć <strong>sa</strong>mo u Gotovini.d) Ako u komandi postoje Vrste plaćanja, onda se ona tretiraju kao doplateod strane kupca !Npr. Ako je iznos reklamiranog računa 100KM, a u komandiStampatiReklamiraniRacun postoje vrste plaćanja, npr. Gotovina 10KM,Virman 10KM, onda se podrazumjeva da je kupac doplatio 10KM u gotovinii 10 KM virmanom, pa mu je potrebno vratiti 120KM. Više o ovome možetenaći u pravilniku o izgledu <strong>fiskalnih</strong> dokumenata.30 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICAGornji problem možete riješiti na sljedeći način:Recimo da je kupca xx datuma uplatio virmanski 100 KM. Dolazi nakon yydana da reklamira račun. Potrebno je izvšiti komandu UnosNovca,gotovinski 100KM. Napraviti reklamirani račun <strong>sa</strong> gotovinskim povratom100KM.Doplate nisu implementirane u <strong>Tring</strong>Favourite Plus.7.4.1. Štampanje reklamiranog računa bez kupcaC#//novi racunRacun _racun = new Racun();//u slučaju reklamiranoga računa ovdje ide broj fiskalnogračuna koji se reklamira_racun.BrojRacuna = "1";///...identična procedura kao kod fiskalnog računa///...///....//štampati reklamirani računBasic 6odgovor = printer.StampatiReklamiraniRacun(_racun);VisualXML KomandeNaziv komande datoteke: StampatiReklamiraniRacun.xml ili srr.xml31 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICAPrimjer komande:1922Moj artikalkg10.33E0210Hvala na posjeti !!!19Primjer odgovora:OKBrojFiskalnogRacuna5DatumFiskalnogRacuna9.1.11VrijemeFiskalnogRacuna13:46IznosFiskalnogRacuna0OK197.4.2. Štampanje reklamiranog računa <strong>sa</strong> kupcemC#//novi racun32 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICARacun _racun = new Racun();//u slučaju reklamiranoga računa ovdje ide broj fiskalnogračuna koji se reklamira_racun.BrojRacuna = "1";///...identična procedura kao kod fiskalnog računa///...///....//štampati reklamirani računVisual Basic 6odgovor = printer.StampatiReklamiraniRacun(_racun);XML KomandeNaziv komande datoteke: StampatiReklamiraniRacun.xml ili srr.xmlPrimjer komande:2021234567890123<strong>Tring</strong> d.o.o. Informatički InženjMehmeda Vehbi ef. Šemsekadića bb75320Gračanica2Moj artikalkg10.33E0210Hvala na posjeti !!!20Primjer odgovora:OKBrojFiskalnogRacuna433 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICADatumFiskalnogRacuna9.1.11VrijemeFiskalnogRacuna13:46IznosFiskalnogRacuna0OK207.5. Unos i iznos novca – UnosNovca, PovratNovcaDozvoljeni načini uno<strong>sa</strong> novca: Gotovina, Cek, Kartica i Virman. Voditeračuna o nazivima vrsti uplata jer su „case sensitive“ !C#7.5.1. UnosNovcaodgovor = printer.UnosNovca(VrstePlacanja.Gotovina,100);Visual Basic 6XML KomandeNaziv komande datoteke: unosnovca.xml ili un.xmlPrimjer komande:07Gotovina125.35Primjer odgovora:OK55332532534 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICAC#7.5.2. PovratNovcaodgovor = printer.PovratNovca (VrstePlacanja.Gotovina,100);Visual Basic 6XML KomandeNaziv komande datoteke: povratnovca.xml ili pn.xmlPrimjer komande:07Virman120.33Primjer odgovora:OK5533253257.6. Izvjestaji – (StampatiPresjekStanja, StampatiDnevniIzvjestaj,StampatiPeriodicniIzvjestaj)7.6.1. StampatiPresjekStanjaIzvještaj „Presjek stanja“ ili X-report, je izvještaj o trenutnom stanjukase: ukupna prodaja, ukupno reklamirano, prodaja i reklamiranje poporeznim stopama, stanje novca u kasi.Moguće je pozvati ovaj izvještaj više puta u toku dana.Ovaj izvještaj ne vrši „Nuliranje“ vijednosti !C#odgovor = printer.StampatiPresjekStanja();Visual Basic 6XML KomandeNaziv komande datoteke: StampatiPresjekStanja.xml ili sps.xmlPrimjer komande:149678335 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICAPrimjer odgovora:Greska5533253257.6.2. StampatiDnevniIzvjestaj„Dnevni izvještaj“ ili Z-report, je izvještaj o ukupnom stanju kaseizmeđu dva dnevna izvještaja: ukupna prodaja, ukupno reklamirano,prodaja i reklamiranje po poreznim stopama.Ovo je obavezan izvještaj koji se, obično, pokreće na kraju dana.Moguće je pozvati ovaj izvještaj više puta u toku dana ali jeograničenje fiskalnog uređaja 2000 dnevnih izvještaja nakon čega semoraju zamjeniti fiskalna memorija i elktronični žurnal.Ovaj izvještaj vrši „Nuliranje“ vijednosti !C#odgovor = printer.StampatiDnevniIzvjestaj();Visual Basic 6XML KomandeNaziv komande datoteke: StampatiDnevniIzvjestaj.xml ili sdi.xmlPrimjer komande:3301764Primjer odgovora:OK5533253257.6.3. StampatiPeriodicniIzvjestaj„Periodični izvještaj“, je izvještaj o ukupnom stanju kase između dvavremenska intervala: ukupna prodaja, ukupno reklamirano, prodaja ireklamiranje po poreznim stopama.Ovo je obavezan izvještaj koji se pokreće na kraju mjeseca a za period36 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICAod prvog do posljednjeg dana u datom mjesecu.Ovaj izvještaj ne vrši „Nuliranje“ vijednosti !C#odgovor = printer.StampatiPeriodicniIzvjestaj(new DateTime(2010, 10,10), new DateTime(2010, 10, 10));Visual Basic 6XML KomandeNaziv komande datoteke: StampatiPeriodicniIzvjestaj.xml ili spi.xmlPrimjer komande:1293455odDatuma1.1.2011 14:59:58doDatuma9.1.2011 14:59:58Primjer odgovora:Greska5533253257.7. Nefiskalni tekst – StampatiNefiskalniTekstPrema Zakonu, moguće je štampati bilo kakav nefiskalni tekst prekofiskalnog uređaja. Moguće je, dakle, štampati bilo kakve dodatneizvještaje, reklamni tekst, pod sljedećim uslovima:a) Nije dozvoljena štampa fiskalnog loga unutar nefisklnog teksta ilibilo kakvog objekta koji svojim konturama liči na fiskalni logob) Nije dozvoljeno više od 5 znakova „-„ i „=“ u jednom redu. Izsigurnosnih razloga, <strong>Tring</strong>.Fiscal automatski zamjenjuje ove znakove<strong>sa</strong> „ „.c) Prije početka štampanja nefiskalnog teksta mora da bude tekst„POČETAK NEFISKALNOG TEKSTA“, odnosno na kraju „KRAJ NEFISKALNOGTEKSTA“.d) Kompletan izgled nefiskalnog teksta mora biti spremljen uelektronični žurnal37 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICA<strong>Tring</strong>.Fiscal prilikom formatiranja primljene komande za štampu nefiskalnogteksta, prvo dijeli text prema „LineFeed“, tj. Byte =10.Zatim, šalje jedan po jedan segment na izvšenje fiskalnom uređaju.Vodite računa da je broj znakova u jednom redu 18 kod <strong>Tring</strong>Favourite plus,odnosno 32 kod <strong>Tring</strong>Partnera.C#odgovor = printer.StampatiNefiskalniDokument("Test dokument \n ok");Visual Basic 6XML KomandeNaziv komande datoteke: StampatiNefiskalniDokument.xml ili snd.xmlPrimjer komande:8376506TextTestokPrimjer odgovora:OK5533253257.8. Štampanje duplikata <strong>fiskalnih</strong> dokumenata – StampatiDuplikatPresjekaStanjaMoguće je štampati <strong>sa</strong>mo zadnji fiskalni dokument na fiskalnom uređaju.Duplikat fiskalnog dokumenta se koristi onda kada je, iz nekog razloga,došlo do pogreške u štampi (nestalo papirne trake, papirna traka sezgužvala, itd.).38 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICAC#odgovor = printer.StampatiDuplikatPresjekaStanja ();Visual Basic 6XML KomandeNaziv komande datoteke: Duplikat.xml ili dup.xmlPrimjer komande:9418746Primjer odgovora:OK5533253257.9. Ostale funkcije – OsnovneInformacije, UpisiNaDisplej, CitajDatumIVrijeme7.9.1. OsnovneInformacijeC#odgovor = printer.OstaleInformacije ();Visual Basic 6XML KomandeNaziv komande datoteke: OstaleInformacije.xml ili oi.xmlPrimjer komande:Primjer odgovora:FactoryIdFMSignaturevtIBFM12345639 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICAJIB4444444444444PIB333333333333InitTime 18:4InitDate06.01.2011NumberOfDailyReports5NumberOfTaxChanges3NumberOfResets0NumberOfServices2Linija1NAZIV OBVEZNIKA**м**тŽУ#-9*_Ч*0Linija2NAZIV PROFAJNOG MJESTA* -*tо*КИLinija3ADRESA PRODAJNOG MJESTA*т**s**qLinija4POŠTANSKI BROJ MJESTA I MJESTO*Linija5**ОLszЕ-5nn*гđџG6*Чпо****Њš!зцΑ_GotovinaUnos0_CekUnos0_KarticaUnos040 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICA_VirmanUnos0_GotovinaPovrat0_CekPovrat0_KarticaPovrat0_VirmanPovrat0_StanjeGotovine0_StanjeCeka0_StanjeKartice0_UkupnoPlaceno0_UkupnoReklamirano0_UkupnoKusur0_UkupnoKusurGotovine0_UkupnoPrometPorezA0_UkupnoPrometPorezE0_UkupnoPrometPorezK0_UkupnoPrometPoretJ041 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICA_UkupnoPrometPorezM0_UkupnoPorezA0_UkupnoPorezE0_UkupnoPorezK0_UkupnoPoretJ0_UkupnoPorezM0_PrometPremaKupcima0_ReklamiraniPrometPremaKupcima0_UkupnoRabat0_UkupnoReklamiraniRabat0OK7.9.2. UpisiNaDisplejOva funkcija je dostupna <strong>sa</strong>mo na <strong>Tring</strong>Partner-u.C#odgovor = printer.UpisiNaDisplej(racunstavka);Visual Basic 6XML KomandeNaziv komande datoteke: UpisiNaDisplej.xml ili und.xmlPrimjer komande:6Sasvim novi42 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICAkk66.33E0610Primjer odgovora:OK5533253257.9.3. CitajDatumIVrijemeOva funkcija je dostupna <strong>sa</strong>mo na <strong>Tring</strong>Partner-u.C#odgovor = printer.UpisiNaDisplej(racunstavka);Visual Basic 6XML KomandeNaziv komande datoteke: StampatiDuplikatPresjekaStanja.xml ili sd.xmlPrimjer komande:6Sasvim novikk66.33E0610Primjer odgovora:OK55332532543 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICA8. OPIS MOGUĆIH GREŠAKA I NJIHOVO HANDLIRANJE<strong>Tring</strong>.Fiscal uvijek vraća odgovor u klasi Ka<strong>sa</strong>Odgovor.U nastavku je dat primjer xml datoteke <strong>sa</strong> greškom:Nedefiniran_Artikal510Kolicina_cijena_0_Displej_u_kvaru_Placanje_0512Greska553325325U nastavku je data lista mogućih grešaka. Greške <strong>Tring</strong>Partnera su od 400 do699, dok su <strong>Tring</strong>Favourite Plus od 600 do 699:Nepoznata_greska=499,Veza_<strong>sa</strong>_printerom_u_prekidu=400,Operator_nije_logiran=401,Neispravno_vrijeme =410,Vrijeme_manje_od_vremena_fiskalizacije=411,Napravi_dnevni_izvjestaj=412,Greska_fiskalne_memorije=413,Uredjaj_je_vec_fiskaliziran=414,Porezna_grupa_ne_postoji=415,Nema_elektronskog_zurnala_Pogre<strong>sa</strong>n_parametar=416,Nema_servisnog_jumpera=417,Pogresno_vrijeme = 418,Vrijeme_manje_od_vremena_fiskalizacije_2 = 430,DST_vec_promijenjeno=431,Fiskalna_memorija_puna_porezi=440,Fiskalna_memorija_puna_izvjestaji = 441,Fiskalna_memorija_puna_reseti = 442,Porezne_stope_iste = 470,Operator_nije_logiran_2 = 655,Greska_Fiskalna_Memorija_Elektronski_Zurnal_Modem=500,Neispravno_vrijeme_2=501,Neispravno_Fiskalno_Vrijeme=502,Nema_papira=503,Visoka_Temperatura_Printera=504,Maximalan_Broj_Dnevnih_Izvjestaja=505,Maximalan_Broj_Reseta=506,Nepoznata_Greska=507,Neispravna_Komanda=508,Nedefinirana_Porezna_Grupa=509,Nedefiniran_Artikal=510,Maximalan_broj_artikala_dostignut=511,Kolicina_cijena_0_Displej_u_kvaru_Placanje_0=512,Prekoracenje_cijene_kolicine_placanja=513,Prekoracenje_u_dnevnom_totalu=514,Prekoracenje_u_prodaji_ili_placanju=515,Prekoracenje_stavki_racuna_ili_reklamacije=516,Prekoracenje_u_iznosu_reklamacije=517,Ne_postoji_artikal_za_reklamaciju_Problem_rabata_Greska_u_nefiskalnom_tekstu=518,44 | S t r a n a


TRING D.O.O. Informatički Inženjering GRAČANICANapravite_dnevni_izvjestaj_Skinite_servisni_jumper_IOSA_nije_uredu=519,Format_kolicine_nije_uredu_Maximalan_Broj_klijenata_u_RAM=520,Prekoracenje_izno<strong>sa</strong>_placanja=521,Pogresna_vrsta_placanja_Servis_u_toku_Nedozvoljeni_rezim=522,Placanja_karticom_ili_cekom_vece_od_izno<strong>sa</strong>_racuna=523,Ukupna_suma_placanja_veca_od_sume_racuna=524,Pogresna_komanda_za_trenutni_status=525,Pogre<strong>sa</strong>n_parametar=526,Problem_<strong>sa</strong>_terminalom_nema_odgovora=527,Elektronski_zurnal_nema_konekcije=528,Elektronski_zurnal_je_pun=529,Problem_<strong>sa</strong>_prodajom_ili_dodavanjem_novog_artikla=530,Elektronski_zurnal_prazan_ili_je_zamjenjen=531,Račun pun ! = 601,Prekoračenje u količini ili iznosu ! = 602,Nema dovoljno novca ili količine ! = 603,Ne postoji stavka za prodaju ili storno ! = 604,Artikal nije programiran ! = 605,Zahtjev nije validan ! = 606,Cijena nije validna ili ne postoji ! = 607,Količina nije validna ili ne postoji ! = 608,Ne postoji veza <strong>sa</strong> PC ! = 609,Zahtjev nije validan za trenutni status uređaja ! = 610,Prekoračenje u prodaji po artiklima ! = 611,Prekoračenje u dnevnoj prodaji (dnevni izvještaj se mora pokreniti) ! = 614,Prekoračenje u prodaji po operateru (izvještaj po operaterima se mora pokreniti)! = 615,Nema papira ! = 616,Pregrijavanje štampača ! = 61745 | S t r a n a

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!