Tab-ul Bonuri — istoric, previzualizare, tipărire
Tab-ul Bonuri este al patrulea tab din bara inferioară a aplicației, alături de E-BON (Acasă), Dispozitive și Setări. Este un jurnal de bonuri standalone, independent de locație: fiecare bon pe care operatorul l-a emis de pe această instalare — fie prin fluxul Creează Bon propriu acestui tab, fie prin fluxul per dispozitiv din Detaliu dispozitiv → Operațiuni — apare aici în ordine cronologică inversă. Apăsarea unui rând deschide ecranul de previzualizare și tipărire; butonul flotant deschide un formular de creare standalone.
Răsfoiește istoricul bonurilor
Tab-ul se deschide direct pe un FlatList cu fiecare bon din ReceiptStore-ul local. Nu există bară de antet, nu există căsuță de căutare, nu există chip-uri de filtru, nu există selector pe interval de date, nu există editare/ștergere per rând și nu există buton de export — este un istoric plat, cronologic.
Stare goală
Când receipts.length === 0, lista este înlocuită cu un EmptyState unificat cu:
- titlul Niciun Bon
- descrierea Bonurile emise vor apărea aici. Apasă butonul de mai jos pentru a crea primul bon.
- o acțiune primară Creează Bon care deschide formularul standalone Bon Nou
Forma rândului
Fiecare rând este un card apăsabil cu trei blocuri:
- Un badge de tip la stânga, codificat color de
receiptTypeColor:- VÂNZARE — verde (
colors.success) - RETUR — chihlimbar (
colors.warning) - STORNO — roșu (
colors.error)
- VÂNZARE — verde (
- O coloană de mijloc cu totalul (formatat prin
formatCurrency, ex.123,45 RON), data și ora la care a fost creat bonul (toLocaleDateString+toLocaleTimeString) și o linie de stare fiscală:- Fiscal: <id> în verde atunci când bonul are un
fiscalId(a fost tipărit) - Netipărit în chihlimbar atunci când
fiscalIdeste gol
- Fiscal: <id> în verde atunci când bonul are un
- Un număr de articole în partea dreaptă (
5 articole/1 articol)
Apăsarea oriunde pe rând navighează la Previzualizare Bon pentru id-ul acelui bon.
Buton de acțiune flotant
Când există cel puțin un bon, un buton de acțiune flotant + Creează Bon ancorat în jos-dreapta ia locul CTA-ului din starea goală. Apăsarea lui deschide formularul standalone Bon Nou.
ReceiptStore-ul local, dar tab-ul standalone Bonuri nu emite stornouri. Anularea de tip storno este un flux doar din portal — vezi Bonuri în Portal.Previzualizează și tipărește un bon
Apăsarea unui rând din istoric deschide ecranul Previzualizare Bon, care este și locul în care aterizează fluxul standalone de creare după Previzualizare & Tipărire. Este o singură vedere cu derulare care reafișează bonul și expune acțiunea de tipărire.
Dacă id-ul bonului nu mai există în store, ecranul afișează o singură linie de eroare Bonul nu a fost găsit. și se oprește — nu există revenire automată.
Aspect
De sus în jos, atunci când bonul este găsit:
- Banner de succes — vizibil doar după o tipărire reușită. Afișează Bon Tipărit (mare, verde) și ID Fiscal: <id> dedesubt.
- Card antet —
receipt.type.toUpperCase()(ex.SALE,REFUND,STORNO) și data/ora creării pe un card centrat. - Secțiunea ARTICOLE — un rând per intrare din
receipt.items: numele la stânga,cantitate x preț unitardedesubt, totalul liniei la dreapta. - Total — un rând cu bordură superioară groasă cu Total la stânga și totalul formatat la dreapta.
- Card DEFALCARE TVA — un rând per intrare din
receipt.vatBreakdown: cota (19%,9%,5%,0%), Bază: <sumă> și TVA: <sumă>. - Secțiunea PLATĂ — un card per intrare din
receipt.payments: METODA de plată cu majuscule (CASH,CARD,VOUCHER) la stânga, suma la dreapta. - Rândul de acțiune — fie butonul de tipărire (înainte de tipărire), fie butonul gata (după tipărire).
Fluxul de tipărire
Apasă Tipărește Bon
Butonul apelează printReceipt(receipt, devices[0]) din services/device/FiscalPrinterService, trece într-o stare dezactivată și afișează un spinner inline cu Se tipărește....
Așteaptă driverul
La succes, bonul este actualizat în ReceiptStore cu fiscalId și fiscalDate returnate, banner-ul de succes apare în partea de sus a ecranului cu noul id fiscal, iar butonul de tipărire este înlocuit cu un buton Gata.
Apasă Gata
Gata apelează clearDraft() pe store-ul de bonuri și navigation.popToTop(), returnând operatorul la rădăcina stivei de navigare curente.
Dacă driverul aruncă o eroare, eroarea este înregistrată și o alertă nativă este ridicată cu titlul Tipărire Eșuată și message-ul erorii. Bonul este lăsat ca atare (fără fiscalId), iar butonul de tipărire se reactivează — operatorul poate reîncerca.
Creează un bon nou
Apăsarea + Creează Bon (FAB) sau a CTA-ului din starea goală deschide formularul standalone Bon Nou. Formularul are trei blocuri stivuite de sus în jos și o acțiune Anulează care apelează clearDraft() și revine la lista Bonuri.
- ADAUGĂ ARTICOL — câmpuri text pentru Denumire articol, Cantitate și Preț, un rând de chip-uri COTĂ TVA (cotele TVA românești din
ROMANIA_VAT_RATES, ex.19%,9%,5%,0%) și un rând de chip-uri DEPARTAMENT (1–9). Butonul Adaugă Articol validează intrările (denumire ne-goală, cantitate numerică pozitivă, preț numeric pozitiv — fiecare ridicând o alertă nativă cu titlul Validare dacă eșuează) și împinge un articol nou în ciornă. - ARTICOLE (<număr>) — apare odată ce cel puțin un articol este în ciornă. Fiecare card de articol afișează numele,
cantitate x preț = total linie, un badge TVA <cotă>% și un badge Dept <n>, plus un buton destructiv Șterge. Sub listă, un rând Total însumează totul (rotunjit la 2 zecimale). - PLATĂ — apare odată ce cel puțin un articol este în ciornă. Un rând de chip-uri METODĂ (Numerar, Card, Voucher) și un câmp SUMĂ care implicit este totalul curent. Butonul Previzualizare & Tipărire validează că există cel puțin un articol (alerta Niciun Articol) și că suma plății este cel puțin totalul (alerta Plată Insuficientă), finalizează ciorna și navighează la Previzualizare Bon.
devices[0] conform ADR-001 (vezi mai sus). Pentru varianta per dispozitiv a aceluiași formular — accesată din interiorul Detaliu dispozitiv și legată de acel dispozitiv pentru pasul de tipărire — vezi Operațiuni zilnice.Ce urmează
- Operațiuni zilnice — varianta per dispozitiv a Bon Nou din interiorul Detaliu dispozitiv și fiecare altă comandă fiscală one-shot.
- Lista dispozitivelor și detaliu dispozitiv — asociază o imprimantă fiscală (fără ea, butonul de tipărire ridică Niciun Dispozitiv).
- Bonuri în Portal — emite stornouri și consultă jurnalul de bonuri la nivel de organizație.
- Setări și schimbarea locației — schimbarea locației active modifică ce dispozitiv se sortează primul pentru ADR-001.
Răsfoiește și gestionează dispozitivele asociate
Răsfoiește imprimantele fiscale asociate la locația activă, adaugă altele noi prin descoperire Bluetooth sau de rețea și deschide ecranul de detaliu cu patru tab-uri — Prezentare, Operațiuni, Istoric, Setări — pentru orice imprimantă pe care o controlează aplicația.
Autentificare și mod Vizitator
Conectează-te în aplicația E-BON pentru Android cu emailul și parola contului tău din Portal sau deschide aplicația ca Vizitator pentru o explorare rapidă — ce face fiecare opțiune, ce îți oferă efectiv modul Vizitator, cele mai frecvente erori și unde te duce aplicația mai departe.