MODUL ELECTRONIC FISCAL (V)

by donpedro

În acest număr vor fi detaliate o serie de aspecte legate de soluţiile adoptate pentru comenzile lansate de PC şi modalităţile de execuţie ale acestora de către modulul fiscal.
După cum a fost prezentat în numerele anterioare, au fost implementate o serie de comenzi care fac posibilă operarea corectă, răspunzând la toate specificaţiile de proiectare. Comenzile se pot clasifica şi se execută în funcţie de mai multe criterii. Astfel, relativ la momentul în care se execută, există comenzi care se efectuează în starea de fiscalizare, respectiv comenzi ce se pot executa după ce fiscalizarea a fost efectuată. Fiscalizarea este operaţia care implică scrierea datelor ce individualizează societatea comercială ce operează cu aparatul în cadrul memoriei fiscale. După această programare toate operaţiile fiscale zilnice sunt evidenţiate în cadrul memoriei fiscale sub forma unui raport (înregistrare). Un al doilea criteriu este legat de tipul utilizatorului care poate efectua comanda respectivă. Din acest punct de vedere, în cadrul programelor software au fost create cinci categorii de utilizatori: service 0, service 1, administrator, raportor, respectiv operator. Utilizatorul de tip service 0 este fabricantul aparatului. Nivelul service 1 este rezervat organelor fiscale. Nivelele de tip administrator, raportor, respectiv operator sunt accesibile diverşilor utilizatori din cadrul societăţii comerciale ce operează cu aparatul.
Lista tuturor comenzilor generate de PC către modulul fiscal în vederea execuţiei este următoarea:

– programare serie fiscală
– programare denumire
– programare adresă
– programare cod fiscal
– programare dată fiscalizare
– programare parole
– programare logotip
– programare dată şi oră exactă
– programare cota TVA
– programare text reclamă
– afişarea directă a mesajului conţinut
– raport modificări cote TVA
– comandă tipărire antet bon
– raport evenimente de reset
– tipărire total bon şi înregistrare totaluri
– tipărire directă a mesajului conţinut
– comandă tipărire parte finală bon
– raport nefiscal
– raport fiscal
– raport între două limite (periodic)
– raport de la instalare (cumulativ)
– citirea cotelor curente de TVA
– citirea datei şi orei exacte
– startare sesiune lucru utilizator
– stop sesiune de lucru
– interogare stare modul fiscal
– interogare număr poziţii libere în memoria fiscală
– interogare apariţie evenimente reset
– schimbare tip printer
– efectuare test asupra memoriei fiscale
– setare modul fiscal pentru lucrul cu display-ul
– interogare stare fiscalizare
– comandă printare text reclamă
– interogare număr bonuri emise
– introducere număr bonuri emise în urma unui
eveniment de reset
– interogare parole
– interogare denumire
– interogare adresă
– interogare cod fiscal
– interogare data fiscalizării
– interogare serie fiscală
– resetare contori zilnici

Spre exemplificare, oferim codurile care se vehiculează între PC şi modulul fiscal pentru comanda de programare a seriei fiscale a aparatului, în memoria fiscală.
Calculatorul PC transmite către modulul fiscal următoarele coduri:

ESC A lg YYXXXXXXXXXX cs 0FF

în care
ESC – prefix al comenzii, codul hexazecimal 1B;
A – identificator comandă, codul ASCII 41 hex;
lg – octet în format hexazecimal ce reprezintă numărul de octeţi ce urmează;
YYXXXXXXXXXX – litere, respectiv cifre ASCII ce reprezintă seria fiscală;
cs – suma de control, două cifre în hexazecimal, XOR pentru toate datele de la începutul mesajului până la suma de control;
0FF – terminator al comenzii, în hexazecimal.
Răspunsul modul fiscal la comanda anterioară are următoarea formă:

ESC A lg cod_raspuns cs 0FF
ESC – prefix al răspunsului, codul hexazecimal 1B;
A – identificator, codul ASCII 41 hex;
lg – octet în format hexazecimal ce reprezintă numărul de octeţi ce urmează;
cod_raspuns – octet ASCII având una din următoarele valori:
a = comandă efectuată corect
b = fără memorie fiscală
c = printer nefuncţional
d = printer fără hârtie
e = display nefuncţional
f = NVRAM nefuncţional
h = comandă neadecvată şi eroare de programare
j = programare deja efectuată
y = utilizator neadecvat
s = eroare checksum memorie fiscală
cs – suma de control, două cifre în hexazecimal, XOR pentru toate datele de la începutul mesajului până la suma de control;
0FF – terminator al comezii, în hexazecimal.

Tipul utilizatorului ce poate executa comanda: service 0, service 1.

Practic, toate comenzile produc testarea stării printerului, respectiv a display-ului conectat la modulul fiscal. Dacă starea acestora nu este cea funcţională, comanda nu se execută şi un cod de eroare corespunzător este returnat PC-ului.

Prof. dr. ing. Gheorghe Şerban
Universitatea din Piteşti
Facultatea de Electronică şi Elecromecanică
Catedra de Electronică
serban@electra.upit.ro

S-ar putea să vă placă și