Pozdrav svima!
Uh, pravo da kazem nisam siguran da je ovo mesto za postavljanje teme o fiskalnoj kasi, ali nisam nasao bolje.
Evo o cemu se radi. Trenutno radim driver za Elcom-ovu kasu Euro500T Handy. Nije mi prvi driver, niti sam ocekivao bilo kakve probleme.
Medjutim, problem je bas nezgodan. Kasa ne radi kao sto bi trebalo po uputstvu.
Konkretno mislim na operaciju storniranja stavke racuna.
Evo malo detalja:
1) Kasa dozvoljava prodaju direktno iz racunara, dakle nije neophodan upis PLU-ova u bazu kase, pre prodaje istih.
2) Prodaja iz racunara ide uvek sa PLU kodom 0 (nula), pri cemu kasa upisuje u buffer sve podatke za odredjenu stavku/item; takodje stavki dodeljuje index.
3) Kada se pozove komanda za storniranje zadnje stavke (void last sold item), ovo radi bez problema; parametar komande je PLU/index = 0.
4) E sad, kad se pozove ista funkcija (void) za storniranje proizvoljne stavke, parametar PLU/index je upravo redni broj ciljane stavke u buffer-u racuna/kase, brojeci od 1. Svi podaci o item-u moraju biti isti kao prilikom prodaje, kasa to proverava.
5) Ovo pod 4 ne radi. Postupnim testiranjem/podmetanjem namerno pogresnih podataka, ustanovio sam da kasa radi validaciju podataka (citanjem gresaka), ali kad ih sve slozim ispravno, dobijem poruku "wrong command combination" iitd.itd.
6) Kasa je takva da, ako nemam storniranje proizvoljnih stavki, ne mogu ni da uradim storno celog racuna. Ono storniranje zadnje stavke (PLU/index = 0) radi samo jednom; nakon toga dobijam istu gresku kao za indirect void.
Pricao sam sa covekom iz firme/zastupnika Elcom-a (vendor kase), i on kaze da je cuo da postoji ogranicenje u srpskoj verzijii ove kase, i tice se upravo onemogucavanja indirect void-a; ali nije siguran, jer on nije programer.
Da li se neko baktao s ovom kasom? Ima li neki trik u protokolu koji previdjam prilikom komunikacije sa kasom, konkretno prilikom pokusaja void-a?
Svaka pomoc je dobrodosla.
Hvala unapred
Rajko