# Caso 1.3 — Vendita al banco — Giacenza a zero

**Descrizione:** l'operatore prova a vendere un prodotto che in magazzino non c'è; poi trova una scatola sullo scaffale, corregge la giacenza con una rettifica d'inventario e la vende.

**Risultato atteso:** il banco avvisa «giacenza insufficiente» e non aggiunge il prodotto; in Magazzino l'Aspirina risulta davvero a giacenza 0; dopo la rettifica (0 → 1) la vendita passa e la giacenza torna a 0, con i due movimenti nei Movimenti.

**Dipende da:** nessun caso. Va fatto prima del caso 3.2 nella stessa farmacia: dopo il carico della bolla l'Aspirina non è più a zero.

| # | Azione | Descrizione | Atteso |
| --- | --- | --- | --- |
| 1 | `004763037` Invio | Aspirina 500 mg, a giacenza zero | Avviso «giacenza insufficiente», nessuna riga entra |
| 2 | Menu › Magazzino › Prodotti, togli la spunta da «Solo con giacenza», cerca `004763037`, apri ASPIRINA 500 MG 20 cpr | Verifica dell'effettiva giacenza (con la spunta i prodotti a zero non compaiono) | Giacenza 0: è il motivo del rifiuto al banco |
| 3 | Con l'Aspirina scelta, **Rettifica** (Alt+R) | Popup di correzione dell'inventario | Popup «Rettifica · ASPIRINA 500 MG 20 cpr» con la giacenza a sistema 0 |
| 4 | Quantità contata `1`, Causale `CONTA`, Conferma | Una scatola trovata sullo scaffale | Popup «Rettificare ASPIRINA…?»: «Giacenza 0 → 1 (+1), causale CONTA» |
| 5 | Conferma | Registra la rettifica | «Rettifica registrata: giacenza 1»; scheda Giacenza 1 |
| 6 | Menu › Vendita al banco (la linguetta del Magazzino resta aperta sull'Aspirina, scheda «Giacenza»), `004763037` Invio | Ora l'Aspirina c'è | La riga entra (1 pezzo), nessun avviso |
| 7 | F1, Contanti con l'importo esatto, F1 | Paga e chiude | Vendita chiusa |
| 8 | Torna alla linguetta del Magazzino, SENZA ricaricare né riaprire; poi scheda «Movimenti» | Alla chiusura della vendita il banco manda sul bus del client il messaggio `VenditaConclusa` con i prodotti venduti: la maschera del Magazzino lo riceve e rilegge dal backend giacenza, movimenti e sottoscorta | La giacenza è già passata da 1 a 0 da sola; nei Movimenti la RETTIFICA +1 e la vendita −1 (nomi dei movimenti: incerto) |

La giacenza torna a 0 apposta: il caso 3.2 parte dall'Aspirina a zero.