pt. IMPRIMANTELE FISCALE
EPSON MF - ROMÂNIA, MF-220, MF-260
CUPLABILE LA CALCULATOR
Cuprins
Capitolul 1. Introducere
1.1 Regimurile de lucru
1.2 Categorii de taxe
1.3 Întreruperea tensiunii de alimentare
1.4. Emiterea de bonuri fiscale si nefiscale
1.5 Generarea rapoartelor
Capitolul 2. Functiile imprimantei fiscale
2.1 Prezentarea generala a functiilor
2.2 Functii fiscale
2.3 Functii nefiscale
2.4 Functii de initializare
2.5 Functii generare rapoarte
2.6 Informatii catre PC
2.7 Comenzi pentru imprimanta si PC
2.8 Alte functii
Capitolul 3. Descrierea functiilor imprimantei fiscale
Capitolul 4. Punerea în functiune a imprimantei fiscale
4.1 Succesiunea operatiilor
4.1.1 Initializare
4.1.2 Fiscalizarea
Capitolul 5. Cuvântul de stare
Capitolul 6. Organizarea memoriei fiscale
Capitolul 7. Interfata dintre imprimanta fiscala - PC
Capitolul 8. Exemple de folosire a functiilor
1. Introducere
Manualul de utilizare al imprimantei fiscale MF-220 prezinta, în principal, functiile, regimurile de lucru, precum si modul de realizare a interfetei dintre imprimanta - PC.
Manualul a fost conceput si realizat ca un ghid al utilizatorului, continând toate informatiile necesare pentru exploatarea în conditii optime a echipamentului.
Imprimanta fiscala este compusa dintr-o imprimanta normala care are adaugat un modul fiscal. Accesul la resursele imprimantei se face exclusiv prin intermediul modului fiscal.
Modulul fiscal executa un set predefinit de comenzi. Comunicatia cu modulul fiscal se realizeaza pe o interfata seriala RS 232.
1.1 Regimurile de lucru
Regim fiscal (regim normal de lucru)
În acest regim imprimanta este fiscalizata si respecta toate reglementarile în vigoare privind acest tip de dispozitive. Bonurile emise vor contine mentiunea 'Fiscal'.
Regim nefiscal
În acest regim imprimanta nu este fiscalizata. Bonurile emise vor contine mentiunea 'Nefiscal'.
1.2. Categorii de taxe
Fiecare vânzare este asociata unei cote de TVA ce determina procentul de impozit din pretul de baza pentru formarea pretului vânzarii.
Imprimanta fiscala poate folosi 4 cote de taxa pe valoarea adaugata (TVA).
Cota de TVA utilizata este identificata prin una din literele A,B,C sau D.
Introducerea cotelor de TVA se face cu functia 6.
Exista posibilitatea de a se aplica o taxa care nu se include in baza de impozitare a TVA - ului (de ex. Taxa de drum) asupra pretului brut (pretul care include TVA) de vânzare al produsului.
Aceasta
taxa se poate da valoric si se elimina din pretul final al
produsului pentru calcularea TVA - ului.
1.3 Întreruperea tensiunii de alimentare
Permanent starea imprimantei este reflectata în câmpul de 8 octeti de stare. La recuplarea tensiunii de alimentare a imprimantei dupa o întrerupere a curentului, programul de aplicatie prin functia F2 trebuie sa verifice starea imprimantei.
Programul de aplicatie trebuie sa ia hotarârea pentru continuarea lucrului în functie de starea gasita.
1.4. Emiterea de bonuri fiscale si nefiscale
Bonurile ce se emit pot fi bonuri nefiscale, fiscale, de serviciu sau rapoarte.
1.4.1 Bonuri nefiscale
Se emit bonuri nefiscale doar în cazul în care imprimanta porneste sau ajunge în mod nefiscal sau read-only.
1.4.2 Bonuri fiscale
Întâi se deschide un bon fiscal, se înregistreaza vânzarile, se face plata, se închide bonul. Se folosesc functiile: F7,F8,F9,F10,F11. La finalul zilei se face un raport financiar zilnic cu golire pentru înscrierea informatiei în memoria fiscala.
Aceasta se face cu functia F33.
1.5 Generarea rapoartelor
Exista câteva moduri de generare a rapoartelor. Se poate face urmatoarea clasificare dupa modul de apelare, tipul si informatia continuta:
Automate
Acestea sunt rapoarte generate de catre imprimanta fiscala când primeste o comanda corespunzatoare de la PC. În aceste rapoarte nu este posibila nici o schimbare din partea programului de aplicatie, acestea fiind definite de imprimanta fiscala. Se poate apela cu comenzile:
F33 - raport financiar zilnic Z sau X (cu / fara golire).
La cerere
Rapoarte despre vânzarile pe o perioada sau pe o zi anterioara ultimei închideri zilnice.
F31- raport financiar
la cerere despre înregistrarile fiscale cuprinse între doua date calendaristice.
2.
Functiile imprimantei fiscale
2.1 Prezentarea generala a functiilor
F2 Stare tranzactie fiscala
F3 Raport tehnic
F4 Scriere cote TVA
F5 Scriere cod fiscal proprietar
F7 Deschidere bon fiscal
F8 Vânzare afisare marfa
F9 Subtotal
F10 Calcul total
F11 Închidere bon fiscal
F14 Stare imprimanta
F15 Citire cote TVA curente
F16 Scriere pe display pe orice pozitie
F17 Deschidere bon nefiscal
F18 Tiparire text liber fiscal si nefiscal
F19 Închidere bon nefiscal
F23 Avans hârtie la imprimanta
F28 Înscriere numar POS
F29 Citire numar bonuri fiscale
F30 Fiscalizare
F31 Raport memorie fiscala în functie de data închiderii fiscale
F32 Citire data/ora de la imprimanta
F33 Închidere fiscala cu sau fara golire (Raport Z sau X)
F34 Selectie culoare scriere la imprimanta (rosu sau negru)
F35 Citeste nr. de locatii ramase pt. închideri Z, cote TVA, RAMRESET - uri
F36 Afisare data si ora pe display
F37 Deschidere sertar bani
F38 Scriere data si ora
F40 Scriere denumire firma
F41 Scriere adresa firma
F42 Introducere / extragere bani din sertar
F43 Scriere serie fiscala
F44 Citire serie fiscala
F45 Citire denumire firma
F46 Citire adresa proprietar
F47 Citire cod fiscal proprietar
F51 Setare moneda lucru leul greu
F52 Citire informatie despre setarea monezii de lucru leu greu
F60 Returneaza la PC numarul ultimei închideri Z valide
F61 Returneaza detalii despre o anumita închidere Z din memoria fiscala
F71 Citeste bloc din memoria fiscala
F72 Abandon bon fiscal deschis
2.2 Functii fiscale
F2 Stare tranzactie fiscala
F7 Deschidere bon fiscal
F8 Vânzare afisare marfa
F9 Subtotal
F10 Calcul total
F11 Închidere bon fiscal
F17 Tiparire text liber fiscal
F72 Abandon bon fiscal deschis
2.3 Functii de initializare
F4 Scriere cote TVA
F5 Scriere cod fiscal proprietar
F28 Înscriere numar POS
F30 Fiscalizare
F38 Scriere data si ora
F40 Scriere denumire firma
F41 Scriere adresa firma
F43 Scriere serie fiscala
F51 Setare moneda lucru leul greu
2.4 Functii generare rapoarte
F3 Raport tehnic
F31 Raport memorie fiscala în functie de data închiderii fiscale
F33 Închidere fiscala cu sau fara golire (Raport Z sau X)
2.5 Informatii catre PC
F14 Stare imprimanta
F15 Citire cote TVA curente
F29 Citire numar bonuri fiscale
F32 Citire data/ora de la imprimanta
F44 Citire serie fiscala
F45 Citire denumire firma
F46 Citire adresa proprietar
F47 Citire cod fiscal proprietar
F52 Citire informatie despre setarea monezii de lucru leu greu
F60 Returneaza la PC numarul ultimei închideri Z valide
F61 Returneaza detalii despre o anumita închidere Z din memoria fiscala
F71 Citeste bloc din memoria fiscala
2.6 Comenzi pentru imprimanta
F23 Avans hârtie la imprimanta
F34 Selectie culoare scriere la imprimanta (rosu sau negru)
2.7 Alte functii
F36 Afisare data si ora pe display
F37 Deschidere sertar bani
F42 Introducere / extragere bani din sertar
3. Descrierea functiilor imprimantei fiscale
NOTĂ: La terminarea executiei tuturor functiilor prezentate în continuare imprimanta fiscala returneaza un raspuns catre PC. În cadrul de raspuns pe care imprimanta îl emite exista, pe lânga alte câmpuri, si câmpurile STATUS si DATE. Câmpul STATUS exista în toate cadrele de raspuns, pe când câmpul DATE nu exista decât pentru functiile care returneaza un raspuns. Deci, în descrierile functiilor, acolo unde se spune ca nu returneaza nimic, trebuie sa se înteleaga ca nu exista câmpul DATE din cadrul de raspuns.
Functia 2. Stare tranzactie fiscala
Sintaxa Nu
Raspuns Stare, NrObiecte,PretTotal,SumaPlatita (separator virgula)
Stare: 0 = nu este deschis bon fiscal
1 = este deschis bon fiscal sau nefiscal
2= este deschis bon fiscal sau nefiscal si a fost executata functia
TOTAL
NrObiecte: numarul obiectelor pe bonul fiscal curent - maxim 5 caractere ASCII
PretTotal: pretul total al bonului fiscal curent - maxim 20 caractere ASCII (cu semnul - daca este o valoare negativa, fara semn explicit daca este o valoare pozitiva)
SumaPlatita: suma platita la bonul fiscal curent - maxim 20 caractere ASCII.
Cele 4 câmpuri sunt separate prin caracterul "virgula" (hexa 2C ).
Sumele transmise catre PC sunt exprimate in lei usori, indiferent care este moneda de lucru a imprimantei leu greu/usor.
Functia 3. Raport tehnic
Sintaxa Nu
Raspuns Nu
Functia 4. Scriere cote TVA
Sintaxa: <TaxaAInt> <TaxaAZec> <TaxaBInt> <TaxaBZec> <TaxaCInt> <TaxaCZec> <TaxaDInt> <TaxaDZec>
Obs: binar, fara separatori
Ex: 13 00 13 00 13 00 09 00 (in hexa. , pentru cotele 19,00 ; 19,00 ; 19,00 si 9,00)
Raspuns: cotele introduse
Ex: 13 09 00 09 13 09 00 09 13 09 00 09 09 09 00
TaxaxInt partea întreaga a taxei x (A,B,C,D)
TaxaxZec: partea zecimala a taxei x
Functia 5. Scriere cod fiscal proprietar
Sintaxa: Text
Raspuns: Nu
Text: Sir ASCII de maxim 15 caractere. Nu e admisa introducerea unui sir format numai din spatii (20h).
Comanda trebuie executata înainte de fiscalizarea imprimantei. Dupa fiscalizare comanda nu se mai poate executa.
Functia 7. Deschidere bon fiscal
Sintaxa pPOS [NrO]
Raspuns NrBonuriFiscale
pPOS: argument obligatoriu, daca e 01h se tipareste numarul POS - ului pe bon, cu conditia ca acest numar sa fi fost înscris anterior cu comanda F28. Daca are alta valoare atunci numarul POS-lui nu se va tipari (1 byte).
NrO: argument optional, numarul operatorului - fara efect, pastrat pt. similaritate cu versiuni mai vechi.
NrBonuri Fiscale: numarul bonurilor fiscale emise de la ultima închidere fiscala (1...5 cifre ASCII).
Comanda nu se executa daca:
Exista un bon fiscal sau nefiscal deschis (returneaza eroarea "comanda nepermisa in regimul fiscal curent"
numarul de argumente este 0 sau mai mare ca 2 (eroare "argumentele comenzii nu sunt valabile")
S-au emis numarul maxim de bonuri pe ziua curenta (65.535)(eroare "la executarea comenzii se depasesc campuri de sume")
Memoria fiscala e plina
Toate cotele de TVA sunt 0 (returneaza eroarea "cote TVA nevalide")
Se executa urmatoarele operatii:
Tipareste "Bon fiscal" daca imprimanta e fiscalizata sau "Bon nefiscal" daca imprimanta nu e fiscalizata.
Daca imprimanta e fiscalizata tipareste denumirea, adresa si codul fiscal al proprietarului. Daca nu e fiscalizata nu tipareste aceste informatii.
Tipareste liniile de început de bon (daca exista).
Tipareste numarul bonului.
Tipareste numarul POS - ului.
Functia 8. Vânzare afisare marfa
Argumente functie:
Text - Sir descriere marfa- 40 caractere maxim
09h - Octet 09 h
TVA TVA : poate sa fie A,B,C,D sau spatiu (blanc)
09h - Octet 09 h
Cantitatea se transmite pe 2 octeti
Nr.i(1) - Nr. bucati- -partea întreaga -octetul mai semnificativ
Nr.i(2)-Nr. bucati - Partea întreaga- octetul mai putin semnificativ
Nr.z(1)- Nr. bucati- primul octet - partea zecimala (octetul mai semnificativ)
Nr.z(2)- Nr. bucati- al doilea octet - partea zecimala (octetul mai putin semnificativ)
Nr.z(3)- Nr. bucati- al treilea octet - partea zecimala (octetul cel mai putin semnificativ) (partea zecimala trebuie sa aibe valoarea între 0 si 999999 zecimal - altfel se semnaleaza eroare la parametrii comenzii).
Exemple pt. reprezentarea cantitatii:
12h,34h,0fh,42h,3eh reprezinta cantitatea : 4660,999998
00h,0ah,00h,04h,d2h reprezinta cantitatea : 10,001234
ATENŢIE: pentru cantitate, pe bon se vor tipari numarul maximum de cifre zecimale permis de spatiu, însa calculele vor fi executate tinând cont de valoarea reala (6 cifre zecimale)
Cum apare cantitatea pe bon exemple:
23,100000 apare pe bon : 23,10
23,000000 apare pe bon : 23
23,020000 apare pe bon : 23,02
23,000001 apare pe bon : 23,000001
23,001200 apare pe bon : 23,0012
Obs. Cantitatea maxima posibila este 65535 , 999999
09h - Octet 09h
"+" - pret normal (pentru adaugare la vânzari)
"-" - pentru voidare
Pret unitar- Pretul formatat ca un întreg pe exact 4 octeti binar, in ordinea MSB.LSB ; suma este reprezentata in lei usori indiferent de moneda de lucru, suplimentar, cand imprimanta lucreaza in lei grei, acestei sume i se vor anula, la receptie, ultimele 2 cifre zecimale.
"," - Optional, care indica faptul ca urmeaza majorare/reducere procentuala. Urmeaza optional "r" si obligatoriu partile întreaga si zecimala ale majorarii/reducerii procentuale.
MajRed Majorarea/Reducerea - partea întreaga a procentajului - este exprimata pe 1 octet (maxim 100.00% acceptat)
MajRed Majorarea/Reducerea - partea zecimala a procentajului - este exprimata pe 1 octet
":" - Optional, indica o majorare valorica. Urmeaza valoarea pe 4 octeti (MSB...LSB) (suma (data pe unitate de produs-imprimanta fiscala o va inmulti cu cantitatea) este exprimata in lei usori, cand imprimanta lucreaza in lei grei ultimele 2 cifre zecimale sunt anulate la receptie). Suma e acceptata daca nu depaseste pretul unitar.
";" - Optional, indica o reducere valorica. Urmeaza valoarea pe 4 octeti (MSB...LSB) (suma (data pe unitate de produs-imprimanta fiscala o va inmulti cu cantitatea ) este exprimata in lei usori, cand imprimanta lucreaza in lei grei ultimele 2 cifre zecimale sunt anulate la receptie). Suma este acceptata daca nu depseste in valoare absoluta pretul unitar.
"v" sau "t" - Optional, indica ca urmeaza o taxa care nu se include in baza de impozitare a TVA - ului care se da valoric. ("t" si "v" au acelasi efect)
Dupa "v" urmeaza : TDV exprimata ca un întreg pe 4 octeti(MSB...LSB) [XXXX] ( suma este exprimata in lei usori x 100 (suma in lei usori exceptata de TVA corespunzator la 100 de unitati din produsul respectiv )). Suma corespunzatoare numarului de produse vandute se extrage din pretul total. Ce ramane din pretul de vanzare dupa deducerea sumei corespunzatoare taxelor speciale reprezinta suma dintre baza de calcul a TVA - ului si TVA - ul propriu-zis.
09h -Octet 09h - daca exista "t" sau " v"
text -Denumirea taxei - maxim 20 octeti
Obs. Majorare/reducere procentuala si valorica nu pot apare impreuna intr-o comanda.
Comanda nu se executa daca:
Nu este deschis bon fiscal
Deja este efectuat numarul maxim de vânzari pentru un bon
Comanda Total a fost deja efectuata
Erori:
Octet4.2 = 1 cand totalul a fost efectuat sau cand e deschis bon nefiscal sau cand nu este deschis bon fiscal
Octet4.1 = 1 cand se depaseste numarul maxim de tranzactii pe bon = 65535
Octet4.4 = 1 cand sunt erori de sintaxa,
Functia 9. Subtotal
Se calculeaza suma tuturor vânzarilor înregistrate în bonul fiscal pâna în momentul apelarii comenzii.
Catre PC se întoarce aceasta suma calculata si valorile însumate pâna în momentul de fata pentru fiecare cota de TVA.
Sintaxa <tiparire> <afisare>
(format ASCII, separator virgula)
-parametrul <tiparire> este obligatoriu.
tiparire - 1 octet, daca este 1(hexa 01) valoarea subtotalului se va tipari, daca e 0, nu
-parametrul <afisare> este facultativ
afisare - 1 octet, daca este 1(hexa 01) valoarea subtotalului se va afisa pe terminalul client, daca e 0 , nu
Sub total -suma pâna în momentul de fata pentru bonul fiscal curent, pâna în 18 cifre
TaxA - suma impozitelor categorie A de TVA / pâna în 18 cifre
TaxB - suma impozitelor categorie B de TVA / pâna în 18 cifre
TaxC - suma impozitelor categorie C de TVA / pâna în 18 cifre
TaxD - suma impozitelor categorie D de TVA / pâna în 18 cifre
FaraTax - Valoare FaraTaxe / pâna în 18 cifre
SpecTax - Valoare Taxespeciale / pâna în 18 cifre
sumele sunt transmise in lei usori (ex. 15,25 lei grei se transmit 152500)
Comanda nu se executa daca:
Nu este deschis bon fiscal
Comanda Total a fost deja efectuata
Functia 10. Calcul total
Cu aceasta comanda se face calculul sumelor din bonul fiscal, tiparirea sumei cu caractere speciale si indicarea ei pe terminalul client. Este posibil sa se tipareasca un text suplimentar.
Comanda nu va fi efectuata cu succes daca:
Nu este deschis bonul fiscal (respunsul va contine bitul de eroare "comanda nepermisa in regimul fiscal curent")
Suma totala este cu semn minus
Daca oricare din sumele totale pe grupe de TVA este negativa
Afisorul client lipseste
Dupa efectuarea cu succes a comenzii imprimanta fiscala nu va efectua comenzile 8 si 9 în cadrul bonului deschis, dar poate sa efectueze înca comanda 10.
Sintaxa [[Linie]09h][ModPlata][Summ]
Raspuns <CodulPlatii> , <Suma>
Linie - text reprezentat printr-un sir de caractere de maxim 20 caractere (daca exista, este urmat obligatoriu un octet 09h). Se imprima pe bon.
09h - un octet cu continut 09h (poate apare chiar daca Linie nu exista)
ModPlata - cod optional care indica modul de plata. Poate sa aiba urmatoarele
valori:
- "C" plata în numerar (implicit)
- "N" plata cu credit
- "E" plata cu CEC
- "A" plata cu carte de credit
În conformitate cu codul introdus valorile se însumeaza în registre diferite si se actualizeaza în raportul zilnic.
Summ - Suma obligatorie care se plateste - un întreg pe 4 octeti reprezentand suma platita exprimata in lei usori (MSB...LSB) ( daca moneda de lucru este leul greu, sumei i se vor anula la primire ultimele 2 cifre - suma se va termina intotdeauna cu 00 ).
CodulPlatii E - subtotal negativ (urmeaza in campul Suma modulul diferentei Total Bon Brut Pozitiv - Total Bon Brut Negativ ; versiunea anterioara de imprimanta fiscala returna Total Bon Brut Negativ)
D - suma platita e mai mica decât valoarea bonului
în câmpul valoare se întoarce restul de plata
R -suma platita e mai mare decât valoarea bonului; restul se
întoarce în câmpul valoare
I - suma pe o grupa de TVA sau de taxe speciale este
negativa; în câmpul valoare se întoarce subtotalul curent
Suma - pâna la 20 caractere, depinde de CodulPlatii. (ASCII)
observatie: Si pentru operatiile efectuate in lei grei, sumele returnate sunt exprimate tot in lei usori.
Functia 11. Închidere bon fiscal
Sintaxa Nu
Raspuns Nu
Imprimanta fiscala realizeaza urmatoarele actiuni:
Tipareste sfârsitul de bon
Tipareste numarul si seria fiscala a imprimantei si a modulului fiscal
Tipareste data si ora curenta
Întoarce raspunsul care contine NrBonuri spre PC
Comanda nu se executa daca:
Nu este deschis bon fiscal
Nu a fost executata cu succes comanda Calcul Total (suma platita la comanda 53 este mai mica decât suma totala a bonului fiscal)
Functia 14. Stare imprimanta
Sintaxa Nu
Raspuns StareImprimanta
StareImprimanta: 8 octeti reprezentând cuvântul de stare al imprimantei (vezi capitolul 5.)
Functia 15. Citire cote TVA curente
Sintaxa Nu
Raspuns TVAAInt,09h, TVAAZec,09h, TVABInt,09h, TVABZec,09h, TVACInt,09h, TVACZec,09h, TVADInt,09h, TVADZec
(cate 1 byte)
TaxaxInt partea întreaga a taxei x (A,B,C,D)
TaxaxZec: partea zecimala a taxei
Functia 16. Scriere pe display pe orice pozitie
Sintaxa Coloana Rând Text
Raspuns Nu
Coloana: coloana pe care se va afisa textul (1..20)
Rând: rândul pe care se va afisa textul (1/2)
Text: textul de afisat (maxim 40 caractere). Se accepta si caractere non - ASCII
Functia 17. Deschidere bon nefiscal
Sinaxa Nu
Raspuns Numarul curent al bonului nefiscal (binar)
Functia 18. Tiparire text liber fiscal si nefiscal
Sintaxa Text
Raspuns Nu
Text: Textul de afisat (maxim 40 caractere ASCII)
Functia 19. Închidere bon nefiscal
Sintaxa Nu
Raspuns Nu
Functia 23. Avans hârtie la imprimanta.
Sintaxa : Numar linii (1 byte)
Raspuns Nu
Numar linii este un numar (max.10 rânduri) dupa care se executa CR si LF.
Functia 28. Înscriere numar POS
Sintaxa: Numar (1 byte)
Raspuns: Nu
Numar este cuprins între 0 si 99( max. ).
NOTĂ: Daca numarul este 0, atunci numarul POS-ului nu se va tipari pe bon.
Functia 29. Citire numar bonuri fiscale
Sintaxa: Nu
Raspuns: NrBonuri
NrBonuri este un numar pe 2 octeti (MSB, LSB).
Functia 30. Fiscalizare
Sintaxa: Nu
Raspuns: Nu
Are rolul de a formata MEMORIA FISCALA pentru lucrul în mod fiscal.
OBS. Aceasta functie nu poate fi executata decât o singura data pentru Memorie Fiscala (operatie ireversibila).
Functia se executa in urmatoarele conditii:
Este introdusa denumirea firmei
Este introdusa adresa firmei
Este introdus codul fiscal al firmei
Este introdusa seria fiscala a memoriei
Este introdusa data/ora curenta
Sunt introduse cotele TVA
Obs. Intrucat operatiunea este ireversibila si pentru ca uterior executarii comenzii nu se poate seta ceasul imprimantei fiscale cu o ora/data anterioara momentului fiscalizarii, este recomandata verificarea datei/orei imprimantei fiscale inaintea transmiterii comenzii de fiscalizare.
Functia 31. Raport memorie fiscala în functie de data închiderii fiscale
Sintaxa: START END "e"/"c"
Raspuns: Nu
START are formatul: (DDMMYY),
END are formatul: (DDMMYY)
Datele din paranteze au câte 3 octeti în format BCD - comprimat (câte o cifra per nibble).
extins/comprimat ('e'/'c') selecteaza între cele doua moduri de afisare a raportului: modul extins creeaza un raport detaliat pe acea perioada, iar modul comprimat tipareste doar totalurile pe acea perioada.
NOTE: 1). Se permite în sintaxa ca data de început sa fie egala cu data finala, caz în care raportul se va face pe ziua respectiva.
2). Cu cât memoria fiscala este mai încarcata cu informatii, cu atât mai mult dureaza un raport. Pentru perioade mari de timp recomandam folosirea modului comprimat deoarece listingul rezultat ar putea iesi foarte lung.
Functia 32. Citire data si ora
Sintaxa Nu
Raspuns SS MM HH ZZ LL AA
Este citita data/ora imprimantei fiscale si returnata host - ului.
Exemplu:
Daca data/ora pe imprimanta fiscala este 17:02:14 11/01/2004 atunci se returneaza in ordine urmatorii 6 octeti, începând cu secundele si terminând cu anul:
(hexa) 14 02 17 11 01 04
Obs. Bitul 0 din octetul 6 de stare al imprimantei (vezi cap. 5.) indica faptul ca ultima inchidere fiscala Z s-a efectuat cu mai mult de 24 ore in urma. Este obligatia aplicatiei de vanzari (POS) sa testeze periodic valoarea acestui bit si sa conduca la efectuarea unei inchideri fiscale pt. a fi satisfacute prevederile legii.
Functia 33. Raportul zilnic financiar
Sintaxa: [G/F]
[G/F]: un octet, astfel: - "G" raport zilnic cu golire
- "F" raport zilnic fara golire
Raspuns al imprimantei fiscale:
Raspuns: -Nu pentru F
-[NrZ][TBAZ][TBBZ][TBCZ][TBDZ][TSTZ][TTSZ][NrBZ][Data] pentru G
unde:
(format ASCII)
NrZ - Numarul închiderii fiscale [20 octeti]
TBAZ- Totalul Brut pe cota A Zilnic[20 octeti]
TBBZ- Totalul Brut pe cota B Zilnic[20 octeti]
TBCZ- Totalul Brut pe cota C Zilnic[20 octeti]
TBDZ- Totalul Brut pe cota D Zilnic[20 octeti]
TSTZ- Totalul Scutit de taxe Zilnic [20 octeti]
TTSZ- Totalul Taxe Speciale Zilnic [20 octeti]
NrBZ- Numarul de bonuri Zilnic [20 octeti]
Data -Ora si Data închiderii fiscale [ 6 octeti]( SSMMHH DDMMYY (BCD comprimat))
Obs.
Campurile de 20 octeti sunt umplute la stanga cu blanc-uri.
Valorile returnate reprezinta sumele respective (in lei usori) x 100.
Functia 34. Selectie culoare scriere la imprimanta (rosu sau negru)
Sintaxa: R sau N
Raspuns: Nu
'R' - rosu
'N' - negru
ATENŢIE: este case - sensitive !
Obs. Banda tusata (La TM-U210A, TM-U220) trebuie sa fie bicolora pentru a putea imprima în doua culori.
Culoarea de imprimare implicita este neagra. Dupa selectarea culorii rosie pt. imprimare, aceasta selectie se pastreaza doar pe durata urmatoarei functii apelate, dupa care culoarea de imprimare redevine automat neagra.
Majoritatea mesajelor scrise de imprimanta se fac cu culoarea neagra, indiferent daca functia F34 a fost data in transmisa sau nu anterior imprimantei.
Functia35. Citeste nr. de locatii ramase pt. închideri Z,cote TVA,RAMRESET-uri
Sintaxa: Nu
Raspuns: [NrLZLib][NrTVALib][NrRRLib] (fara delimitatori)
unde:
NrLZLib- nr. de locatii Z ramase [2 octeti] (binar MSB, LSB)
NrTVALib- numar de locatii de memorare de noi seturi de cote TVA ramase [binar 1 octet]
NrRRLib- numar locatii de marcaje de corupere a memoriei curente ramase [binar 1 octet]
Functia 36. Afisare data si ora pe display
Sintaxa Nu
Raspuns Nu
Actiune: Se citesc data si ora din RTC si sunt afisate pe display
Functia 37. Deschidere sertar bani
Sintaxa: Nu
Raspuns: Nu
Apelarea acestei functii are ca efect deschiderea sertarului cu bani.
Functia 38. Scriere data si ora
Sintaxa <SS:MM:HH:DD:MM:YY> (6 octeti, fara separatori format BCD comprimat)
Raspuns Nu
Exemplu: 30 iunie 2005, ora 11:59:50 pm se transmite 50h 59h 23h 30h 06h 05h (in hexazecimal).
Nu se poate înregistra data/ora anterioara data/orei ultimei inchideri fiscale Z din memoria fiscala.
Nu se poate înscrie o data/ora anterioara data/orei ultimului RAM-RESET înregistrat in memoria fiscala.
Este prevazut sa se lucreze pâna în anul 2098 inclusiv. Compatibil Y2K.
Dupa RESET - ul memoriei RAM imprimanta fiscala va astepta setarea datei/orei (F38) si va rejecta alte comenzi in afara de cea de citire a starii imprimantei (F14).
Este foarte important ca data/ora setata in acest momet (la RAM-RESET) sa fie corecta deaorece ea este asociata acestui eveniment (RAM-RESET) si memorata in memoria fiscala. O data/ora anterioara acestei date/ore nu mai poate fi setata pe imprimanta fiscala (avand aceeasi memorie fiscala)
Obs.
Este returnata eroare "comanda nepermisa in regimul fiscal curent" daca exista bon fiscal deschis in momentul primirii acestei comenzi.
Este returnata "eroare argumente" daca parametrii comenzii nu corespund ca numar sau ca valoare, sau daca data/ora ce s-au transmis imprimantei fiscale a fost anterioara data/orei ultimei inchideri fiscale Z sau data/orei ultimului eveniment "RamReset" (pierderea informatiilor de vanzare de la ultima inchidere fiscala Z).
Obs.
Bitul 0 din octetul 6 de stare al imprimantei (vezi cap. 5.) indica faptul ca ultima inchidere fiscala Z s-a efectuat cu mai mult de 24 ore in urma. Este obligatia aplicatiei de vanzari (POS) sa testeze periodic valoarea acestui bit si sa conduca la efectuarea unei inchideri fiscale pt. a fi satisfacute prevederile legii.
Functia 40. Scriere denumire firma proprietar
Sintaxa: Text
Raspuns: Nu
Text: Sir ASCII de maxim 40 caractere. Nu e admisa introducerea unui sir format numai din spatii (20h).
Comanda trebuie executata înainte de fiscalizarea imprimantei. Dupa fiscalizare comanda nu se mai poate executa.
Functia 41. Scriere adresa firma proprietar
Sintaxa: Text
Raspuns: Nu
Text: Sir ASCII de maxim 40 caractere. Nu e admisa introducerea unui sir format numai din spatii (20h).
Comanda trebuie executata înainte de fiscalizarea imprimantei. Dupa fiscalizare comanda nu se mai poate executa.
Functia 42. Introducere / extragere bani din sertar
Sintaxa: "+"/"-" Suma
Raspuns: "N"/"D" , Suma din sertar , Suma intrata , Suma extrasa
Suma: Valoare întreaga pe 4 octeti. Exprimata binar (MSB...LSB). Este exprimata in lei usori indiferent daca moneda de lucru a imprimantei este leul greu. Este obligatoriu precedata de "+" sau "-"
"N" Semnifica o eroare în actualizare (de exemplu s-a încercat scoaterea unei sume mai mari decât cea existenta în sertar). Operatia ceruta n-a fost executata.
"D" Semnifica o actualizare corecta a sumei din sertar
Suma din sertar: Valoarea actualizata a sumei din sertar
Suma intrata: Valoarea totala a sumei intrate în sertar de la începutul zilei
Suma iesita: Valoarea totala a sumei iesite din sertar de la începutul zilei
Observatii:
-Sumele sunt exprimate in lei usori, indiferent de moneda de lucru a imprimantei leu greu/usor.
-Daca exista un bon deschis, nu se face actualizarea sumei in sertar, se returneaza codul de eroare "comanda nepermisa in regimul fiscal curent". Sumele returnate in raspuns (incepe cu N,...) sunt valide, dar n-au fost afectate de comanda
-Daca banii din sertar nu acopera cererea de extragere transmisa de la PC, operatia nu se efectueaza, se returneaza cod de eroare ("la executarea comenzii se depasesc campuri de sume"). Sumele returnate in raspuns (incepe cu N,...) sunt valide, dar n-au fost afectate de comanda.
-Daca sintaxa comenzii n-a fost respectata sau daca suma in sertar este gasita negativa, operatia nu se efectueaza, se returneaza eroarea "argumentele comenzii nu sunt valide". Sumele returnate in raspuns (incepe cu N,...) sunt valide, dar n-au fost afectate de comanda.
Functia 43. Scriere serie fiscala
Sintaxa: Text
Raspuns: Nu
Text: Seria fiscala a memoriei (maxim 15 caractere ASCII)
Functia 44. Citire serie fiscala
Sintaxa: Nu
Raspuns: Text
Text: Seria fiscala a memoriei (maxim 15 caractere ASCII)
Functia 45. Citire denumire firma
Sintaxa: Nu
Raspuns: Text
Text: Denumirea firmei (maxim 40 caractere ASCII)
Functia 46. Citire adresa proprietar
Sintaxa: Nu
Raspuns: Text
Text: Adresa proprietarului (maxim 40 caractere ASCII)
Functia 47. Citire cod fiscal proprietar
Sintaxa: Nu
Raspuns: Text
Text: Cod fiscal (maxim 15 caractere ASCII)
F51. Setare moneda lucru leul greu
Sintaxa: Nu
Raspuns: [Cod OraData NrZ CRC] (10 octeti)
unde:
Cod - 1 octet , are valoarea 00h daca imprimanta este configurata sa lucreze in lei grei
OraData- 6 octeti, reprezinta ora si data la care s-a facut trecerea imprimantei fiscale la moneda de lucru leu greu (acelasi format ca si la F38: SMHDMY)
NrZ - 2 octeti reprezinta numarul inchiderii fiscale Z anterioare (MSB,LSB)
CRC - 1 octet este suma aritmetica pe octet, a octetilor OraData si NrZ (suma a 8 octeti anteriori)
Obs.
Nu se poate seta ca moneda de lucru leul usor. Trecerea la leul greu ca moneda de lucru a unei imprimante fiscalizate este ireversibila.
Este returnata eroarea "comanda nepermisa in refimul fiscal curent" in situatiile:
-daca s-au facut deja vanzari de la ultima inchidere Z (comanda poate fi eecutata cu succes doar dupa o inchidere fiscala Z)
-daca exista un bon deschis
-daca trecerea la leul greu s-a facut deja anterior (operatia poate fi facuta o singura data
pentru o memorie fiscala)
-daca imprimanta nu este fiscalizata
Este returnat codul "eroare in executie" daca citirea ceasului imprimantei fiscale s-a facut cu erori.
Sunt returnate codurile "eroare in executie" si "eroare la inregistrarea in memoria fiscala" daca nu s-a putut marca in memoria fiscala trecerea la moneda de lucru leul greu (defectiune de echipament). In acesta caz sunt returnati catre PC si cei 10 octeti descrisi mai sus, parametrul Cod avand valoarea 0FFh.
In cazul executarii corecte a comenzii, nu sunt returnate coduri de eroare iar primul dintre cei 10 octeti returnati, parametrul Cod are valoarea 00h.
F52. Citire informatie despre setarea monezii de lucru leu greu
Sintaxa: Nu
Raspuns: Cod OraData NrZ CRC
(10 octeti)
unde:
valorile returnate de imprimanta fiscala sunt cele descrise la F51.
Daca Cod are valoarea 00h, atunci imprimanta a fost setata sa lucreze cu leul greu la momentul indicat de OraData, cand ultima inchidere fiscala avea numarul NrZ.
Daca Cod are valoarea 0FFh, atunci imprimanta nu a fost inca setata sa lucreze cu leul greu iar ceilalti 9 octeti ce urmeaza au vaoarea 00h
Functia 60.Returneaza la PC numarul ultimei închideri Z valide
Sintaxa: Nu
Raspuns: NrZ (2 octeti: MSB,LSB)
Functia 61. Returneaza detalii despre închiderea fiscala dorita.
Sintaxa : Numarul închiderii fiscale despre care doriti informatii pe 2 octeti (MSB, LSB) in binar.
Raspuns:
-[NrZ][TBAZ][TBBZ][TBCZ][TBDZ][TSTZ][TTSZ][NrBZ][Data]
unde:
(format ASCII)
NrZ - Numarul închiderii fiscale [20 octeti]
TBAZ- Totalul Brut pe cota A Zilnic[20 octeti]
TBBZ- Totalul Brut pe cota B Zilnic[20 octeti]
TBCZ- Totalul Brut pe cota C Zilnic[20 octeti]
TBDZ- Totalul Brut pe cota D Zilnic[20 octeti]
TSTZ- Totalul Scutit de taxe Zilnic [20 octeti]
TTSZ- Totalul Taxe Speciale Zilnic [20 octeti]
NrBZ- Numarul de bonuri Zilnic [20 octeti]
Data -Ora si Data închiderii fiscale [ 6 octeti] ( SSMMHH DDMMYY (BCD comprimat))
Daca închiderea fiscala despre care s-au cerut detalii nu exista in memoria fiscala se raspunde cu 146 octeti de '0'
Obs.
Campurile de 20 octeti sunt umplute la stanga cu blanc-uri.
Valorile returnate reprezinta sumele respective (in lei usori) x 100.
Functia 71. Citeste bloc din memoria fiscala
Sintaxa: A1, A2, A3
Raspuns: BLOC (128 octeti)
Unde A1,A2,A3 sunt adresa in memoria fiscala in domeniul
00000h....3FFFFh
Ex. pt. adresa 2F053h A1=02h, A2=0F0h, A3=53h (parametrii se transmit fara separatori)
Obs.
Imprimanta fiscala returneaza eroarea "executia comenzii nepermisa in regimul fiscal curent" daca exista un bon deschis.
E returnata eroarea "argumentele comenzii nu sunt valide" daca numarul de parametri ai comenzii este gresit si daca adresa indicata este in afara domeniului de adrese valid.
Functia 72. Anuleaza bon fiscal deschis
Sintaxa: Nu
Raspuns: Nu
Functia abandoneaza bonul deschis si aduce la 0 totalizatoarele de bon.
Starea imprimantei returnata catre PC semnalizeaza "cadere de tensiune in timpul unui bon fiscal". Bitul de "bon fiscal deschis" este anulat.
Daca
nu exista bon deschis, functia nu face nimic, starea imprimantei returnata
catre PC nu indica nici o eroare.
5. Cuvântul de stare al imprimantei
Starea actuala a imprimantei fiscale este codificata într-un câmp cu lungimea de 8 octeti, care se transmite în cadrul fiecarui raspuns din imprimanta fiscala. In continuare este prezentata descrierea fiecarui câmp de stare.
Octetul 0 |
Printer |
Neutilizat (fixat in 0) |
|
Neutilizat (nedefinit) |
|
1=Asteapta / 0 =Nu asteapta on-line recovery |
|
Neutilizat (fixat in 1) |
|
0=On-line / 1= Off-line |
|
Stare sertar de bani (1/0 pin 3 in high/low) |
|
Neutilizat (fixat in 1) |
|
Neutilizat (fixat in 0) |
Octetul 1 |
ON-LINE |
Neutilizat (fixat in 0) |
|
Erori (0-nu sunt erori,1-exista erori) - cadere tensiune in bon fiscal |
|
Lipsa hârtie (1= lipsa hârtie/ 0 = hârtie prezenta) |
|
Neutilizat (fixat in 1) |
|
Neutilizat (fixat in 1) |
|
Capac imprimanta închis (0) / deschis (1) |
|
Neutilizat (fixat in 1) |
|
Neutilizat (fixat in 0) |
Octetul 2 |
Erori |
Neutilizat (fixat in 0) |
|
Erori recuperabile (0 - nici o eroare, 1-exista erori recuperabile) |
|
Erori nerecuperabile (0 - nici o eroare, 1 - exista erori nerecuperabile) |
|
Neutilizat (fixat in 1) |
|
Erori la autocutter (0 - nici o eroare,1-exista erori) |
|
Erori mecanice(0 -nici o eroare, 1-exista erori) |
|
Neutilizat (fixat in 1) |
|
Neutilizat (fixat in 0) |
Octetul 3 |
Senzor hârtie |
Neutilizat (fixat in 0) |
|
Senzor hârtie (0- hârtie prezenta, 1 - lipsa hârtie) |
|
Senzor hârtie (0- hârtie prezenta, 1 - lipsa hârtie) |
|
Neutilizat (fixat in 1) |
|
Senzor hârtie aproape de sfârsit ( 0 - hârtie prezenta, 1 - hârtie aproape de sfârsit ) |
|
Senzor hârtie aproape de sfârsit ( 0 - hârtie prezenta, 1 - hârtie aproape de sfârsit ) |
|
Neutilizat (fixat in 1) |
|
Neutilizat (fixat in 0) |
Octetul 4 |
Destinatie generala |
Adresa sau denumire nevalide |
|
Cod fiscal sau serie fiscala nevalide |
|
Data si ora nedeterminate |
|
Argumentele comenzii nu sunt valabile |
|
Eroare în executarea comenzii |
|
Executarea comenzii nu e permisa în regimul fiscal curent |
|
La executarea comenzii se depasesc câmpuri de sume |
|
Cote TVA nevalide |
Octetul 5 |
Erori RAM |
Cadere de tensiune în timpul ultimei tipariri |
|
Bon anulat; Cadere de tensiune aparuta in timpul unui bon fiscal |
|
rezervat |
|
Bon fiscal deschis |
|
Bon nefiscal deschis |
|
Eroare comanda |
|
Eroare CRC |
|
Eroare secventa |
Octetul 6 |
Erori MEMORIE FISCALA 1 |
Eroare in memoria fiscala aparuta in urma testarii |
|
Memorie fiscala plina |
|
Mai sunt sub 60 de înregistrari in memoria fiscala |
|
Nu exista modulul de memorie fiscala |
|
A aparut o eroare la înregistrarea în memoria fiscala |
|
Lipsa display client |
|
Schimbare neautorizata de memorie fiscala |
|
Au trecut 24 ore de la primul bon fiscal |
Octetul 7 |
Erori MEMORIE FISCALA 2 |
Mai sunt sub 7 locatii libere pentru înregistrare cote TVA |
|
Nu mai sunt locatii libere pentru cotele TVA |
|
Imprimanta este fiscalizata |
|
Eroare la ultima închidere fiscala |
|
A aparut cadere de tensiune în timpul ultimei închideri fiscale |
|
Memoria fiscala în regim de READ ONLY |
|
Mai sunt putine locatii pentru RAM-RESET (sub 11) |
|
Nu mai sunt locatii libere pentru RAM-RESET |
Organizarea memoriei fiscale
Memoria fiscala este organizata în 4 zone distincte, care sunt scrise si accesate separat in timpul functionarii imprimantei, dar care interactioneaza unele cu altele.
O prima zona este zona de identificare a imprimantei si a memoriei fiscale.
Aici sunt înscrise urmatoarele informatii importante:
Adresa comerciantului (firmei)
Numele comerciantului (firmei)
Codul fiscal al comerciantului (firmei)
Codul aparatului (imprimantei)
Seria fiscala a aparatului
Data si ora la care a fost facuta fiscalizarea
Trebuie precizat ca aceasta zona este creata automat în momentul fiscalizarii imprimantei.
Urmatoarea zona de memorie este zona RAM-RESET.
Aici se înscriu data si ora fiecarei detectii de pierdere a continutului memoriei SRAM.
Exista 255 de locatii dedicate acestui scop.
Atunci când numarul de locatii scade sub 11, se seteaza un bit de stare care avertizeaza utilizatorul asupra problemei care urmeaza sa apara, si anume ca, la epuizarea locatiilor imprimanta se opreste din functionare.
Zona a treia din memoria fiscala este zona cotelor TVA.
Aici se înscriu cotele TVA dintr-o perioada din functionarea imprimantei. Aceste cote TVA nu sunt fixate la o valoare initiala, putând fi modificate de utilizator în functie de noile reglementari legale. Memoria fiscala pune la dispozitia utilizatorului un numar de 64 de locatii pentru cote TVA, în fiecare locatie putând fi stocate 4 cote TVA distincte (A, B, C si D). La umplerea acestei zone imprimanta se blocheaza, nu înainte de a avertiza utilizatorul asupra acestui lucru atunci când numarul locatiilor disponibile scade sub 7.
Oricum, presupunând ca o schimbare a cotelor TVA are loc odata la 6 luni, tot ramân 32 de ani de functionare!
Ultima zona si cea mai interesanta financiar este zona închiderilor fiscale zilnice.
Aceasta zona permite un numar de 2048 de închideri zilnice si avertizeaza apropierea umplerii când mai ramân 60 de închideri.
Aici sunt stocate totalizatoarele zilnice si cele cumulate de la data punerii în functiune a imprimantei.
O schema aproximativa a organizarii memoriei este data în figura urmatoare:
Nu se poate spune care dintre cele 4 zone este mai importanta, deoarece nefunctionarea uneia dintre zone duce cu sine la iesirea imprimantei din regimul fiscal sau chiar la blocarea ei.
Organizarea locatiilor memoriei fiscale
Lista câmpurilor din memoria fiscala:
Denumire |
Numar Locatii |
Dimensiune Octeti / locatie |
C_1 SERIE FISCALA | ||
C_2 COD FISCAL | ||
C_3 DATA SI ORA FISCALIZARII | ||
C_4 DENUMIREA FIRMEI | ||
C_5 ADRESA FIRMA | ||
C_6 COTE_TVA | ||
C_7 RAMRESET | ||
C_8 INCHIDERE FISCALA |
Descrierea câmpurilor
C_1 SERIE FISCALA - sir ASCII de 15 octeti
C_2 COD FISCAL - sir ASCII de 15 octeti
C_3 DATA SI ORA FISCALIZARII -6 octeti in format: SS, MM, HH, DD, MM, YY
C_4 DENUMIRE FIRMA - sir ASCII de 40 octeti
C_5 ADRESA FIRMA - sir ASCII de 40 octeti
C_6 COTE TVA
Cota TVA A -2 octeti
Cota TVA B -2 octeti
Cota TVA C -2 octeti
Cota TVA D -2 octeti
Data -6 octeti
Numar închidere fiscala precedenta -2 octeti
Suma de control -1 octet
C_7 RAMRESET
Timp -3 octeti
Data -3 octeti
Suma de control -1 octet
C_8 INCHIDERE FISCALA
Contor Z -2 octeti
TotalBrut zilnic A -8 octeti
TotalBrut zilnic B -8 octeti
TotalBrut zilnic C -8 octeti
TotalBrut zilnic D -8 octeti
Valoare Totala A -8 octeti
Valoare Totala B -8 octeti
Valoare Totala C -8 octeti
Valoare Totala D -8 octeti
Valoare Totala fara taxe zilnic -8 octeti
Valoare Totala fara taxe cumulata -8 octeti
Total special zilnic -8 octeti
Total special cumulat -8 octeti
Total general cumulat -8 octeti
Numar bonuri fiscale -2 octeti
Data -6 octeti
Suma de control -2 octeti
Comunicatia între imprimanta fiscala si PC se realizeaza serial prin intermediul unui protocol pe interfata RS232.În cadrul acestui protocol, PC - ul este Master, iar imprimanta este slave. Host - ul ( PC - ul) este singurul care poate initia o comunicatie, iar imprimanta fiscala executa comanda si raspunde cu o secventa al carui format este diferit de cel al host - ului. În cadrul unui schimb uzual de mesaje raspunsul imprimantei fiscale vine dupa un interval de sub 0,5 secunde pâna la 10 secunde de la lansarea comenzii, astfel încât sa poata avea loc tiparirea fizica, în cazul unor rapoarte mai lungi. Acest interval se poate regla în aplicatia de nivel înalt în functie de marimea maxima a rapoartelor cerute imprimantei fiscale.
Protocolul Host - Imprimanta fiscala are urmatorul format:
SOT |
LEN |
SEQ |
CMD |
DATE . |
CRC |
EOT |
Unde:
SOT -Indica startul transmisiei(Start Of Transmission), are 1 octet cu valoarea 0x01h
LEN -Lungimea tuturor octetilor ce urmeaza dupa LEN, exceptând câmpurile CRC si EOT si are 1 octet
SEQ -Numarul de secventa - din PC se va genera un numar de secventa aleator, dar diferit de precedentul (1 octet)
CMD -Comanda, reprezinta numarul functiei descrise în capitolul 3. Are lungimea de 1 octet.
DATE -Poate avea lungimea cuprinsa între 0 si 248 octeti.
CRC -Suma de control a octetilor LEN,SEQ,CMD,DATE, suma este octet cu octet si ocupa doi octeti
EOT -Indica sfârsitul transmisiei, are 1 octet cu valoarea 0x03h
Exemplu de utilizare a protocolului:
0x01 0x02h 0x01h 0x0Bh 0x0Eh 0x0h 0x03h; reprezinta apelarea functiei 11.
Protocolul Imprimanta fiscala- Host:
SOT |
LEN |
SEQ |
STATUS |
CMD |
DATE |
CRC |
EOT |
||
Unde:
SOT -Start of transmission, 1 octet
LEN -Lungimea unei transmisii(în octeti),1 octet
SEQ -Secventa,1 octet acelasi cu cel de la emisie
STATUS -Status - ul descris în capitolul 5, are 8 octeti
CMD -Comanda care i-a fost trimisa, 1 octet
DATE -Poate avea lungimea cuprinsa între 0 si 230 octeti
CRC -Suma de control a octetilor LEN,SEQ,STATUS,CMD,DATE si ocupa doi octeti
EOT -End of transmision,1 octet
Exemplu de lucru cu imprimanta:
Eliberarea unui bon fiscal:
functia 14 - testare prezenta hârtie
functia 7 - deschidere bon fiscal
functia 14 - testare prezenta hârtie
functia 2 - stare tranzactie fiscala - verific daca s-a deschis bonul fiscal. Daca nu s-a deschis, reiau de la punctul 2
functia 8 - vânzare obiecte
functia 14 - testare prezenta hârtie
functia 2 - stare tranzactie fiscala - verific încontinuu numarul de obiecte de pe bon. Reiau de la punctul 5 pentru toate obiectele care trebuie vândute.
functia 10 - total
functia 14 - testare prezenta hârtie
functia 2 - stare tranzactie fiscala - verific daca s-a realizat totalul. Daca nu s-a realizat, reiau de la punctul 8
functia 11 - închidere bon fiscal
functia 14 - testare prezenta hârtie
functia 2 - stare tranzactie fiscala - verific daca s-a închis bonul. Daca nu, reiau de la punctul 11
S-ar putea sa preferati folosirea functiei 9 în locul functiei 2. Acesta este doar un exemplu.
Închiderea zilnica:
functia 38 - actualizare data / ora
functia 33 - închidere zilnica. Daca data/ora interne sunt eronate, imprimanta afiseaza mesajul de eroare si asteapta introducerea unor date corecte (functia 38).
functia 29 - se verifica faptul ca numarul bonurilor fiscale este pe 0 (zero)
Se poate verifica înainte de închiderea zilnica cu ajutorul functiei 29 ca numarul bonurilor fiscale este mai mare decât zero (pentru a justifica închiderea).
Pornirea imprimantei:
Este posibil ca la pornire imprimanta sa ceara actualizarea datei si orei interne, în anumite cazuri de 2 ori. În aceste cazuri nu se accepta nici o alta comanda decât functia 38.
|