Predmet:Re: Ideje i rjesenja iz teme fiskalizacija
Evo kako sam ja to riješio (idejno) postoje dva "koraka"
1) nakon pripreme fiskalnog (reklamiranog) računa u aplikaciji pozivam funkciju
OBRADAFP koja u zavisnosti od vrste fiskalnog uređaja radi sljedeće
1.1. NSC
- provjerava da li se pojavio fajl "odgovor" na zadnju komandu displeju. Ako je OK i fajl odgovora sadrži red sa "47,1" Å¡alje se račun Å¡tampaču i provjerava da li fajl odgovora sadrži "56,1,"
1.2. Tring
- Å¡alje se račun Å¡tampaču i provjerava da li fajl odgovora sadrži "</VrstaOdgovora>"
1.3. Tremol
- Å¡alje se račun Å¡tampaču i provjerava da li se pojavio fajl .OUT (odgovor)
1.4. HCP (malo komplikovanije)
- na početku se obriÅ¡e bill_state.xml i poÅ¡alje se račun Å¡tampaču (RCP_xxx.xml) + cmd.ok i "čeka" se da drajver obriÅ¡e cmd.ok, provjerava se da li se pojavio fajl RCP_xxx.OK te se Å¡alje receipt_state (sa fajlom cmd.ok). kada drajver "obriÅ¡e" cmd.ok provjerava se da li postoji fajl bill_state.xml
1.5. ERP
- Å¡alje se račun na Å¡tampač i provjerava se da li se pojavio fajl odgvovoa (.eln) i da li on sadrži tekst "BF:" ili "RF:"
1.6. Mikroelektronika
- Å¡alje se račun na Å¡tampač i provjerava se da li se pojavio fajl odgvovoa (.inp) i da li on sadrži tekst ";Ok;Last"
Ako nisu ispunjeni svi uslovi iz koraka 1 (za određeni fiskalni uređaj) PREKIDA se knjiženje računa (koji nije ispisan na fiskalni uređaj)
Ako su ispunjeni svi "propisani" uslovi iz koraka 1 ide se na korak 2.
2) Čitanje i obrada odgovora fiskalnog uređaja (
CITAJFP)
2.1. NSC
- iz fajla odgovora u redu "56,1," izdvaja se BF (za fiskalni račun) ili RF (za reklamirani) i odbaciju se vodeće nule
2.2. Tring
- iz fajla odgovora se traži "<VrstaOdgvora>OK</VrstaOdgvora> i izdvaja broj računa "<Vrijednost>xxx</Vrijednost>"
2.3. TREMOL
- iz fajla odgovora se traži "<OPOS_SUCCESS" i izdvaja broj računa "ReceiptNumber="
2.4. HCP
- iz fajla odgovora u "BILL_STATE.XML" izdvajamo RECEIPT_NUMBER (za fiskalni račun) ili REFOUND_RECEIPT_NUMBER (za reklamirani)
2.5. ERP
- iz fajla odgovora u redu "BF:" izdvajamo se broj fiskalnog računa ili "RF:" izdvajamo broj reklamiranog računa
2.6. Mikroelektronika
- iz fajla odgovora u redu ",Ok;LastReceiptNumber;" izdvajamo se broj fiskalnog računa ili "Ok;LastRefundNumber;" izdvajamo broj reklamiranog računa
Ako su ispunjeni svi predviđeni zahtjevi iz koraka 2 "fiskalizacija" zahtjeva je uspjela (dobili smo broj fiskalnog-reklamiranog računa) i treba "zavrÅ¡iti" knjiženje u suprotnom treba
ponuditi mogućnost da se unese broj fiskalnog (reklamiranog) računa ako je u međuvremenu odÅ¡tampan (kod pojedinih uređaja se to deÅ¡ava) ili da se zahtjev obriÅ¡e tj. prekine knjiženje.
Ovaj post je ureden
1
puta. Posljednja izmjena 07.03.2011 12:54 od strane biromega.