Valutazione Magazzino Lecchese
Sistema di analisi e valorizzazione del magazzino molle. Legge la produzione dal gestionale, incrocia le vendite, calcola le giacenze e stima il valore economico dello stock per un dato periodo.
🏠 Cos'è e a cosa serve
Questa finestra risponde alle domande fondamentali sul magazzino: quanti pezzi ho prodotto nel periodo? quanti ne ho venduti? quanti restano in giacenza? quanto valgono?
Produzione
Legge tutti gli ordini evasi nel periodo dal DB del gestionale Lecchese.
Vendite
Legge i movimenti VEN e VCL dal file Excel esportato dal gestionale.
Giacenza
Calcola la giacenza come Prodotti − Venduti per ogni articolo.
Valore
Associa un prezzo a ogni giacenza per calcolare il valore totale del magazzino.
Il risultato viene salvato in un database Access dedicato che funge da "fotografia" del periodo elaborato e può essere consultato e modificato anche in seguito, senza dover rielaborare.
🗄️ Architettura — panoramica file
Il sistema usa cinque sorgenti dati in ingresso e produce un database di output. La password Access per tutti i database è 🔒 lecchese
| File | Tipo | Ruolo | Obbl. |
|---|---|---|---|
| dbMollificioLecchese.accdb | Access | Sorgente produzione (gestionale principale) | Sì |
| dbAccettazione.accdb | Access | Lookup Codice AdHoc via numero accettazione | Raccom. |
| materiali.accdb | Access | Lookup Codice AdHoc e Prezzo Materiale via Misura+Specifica | Raccom. |
| File Excel vendite .xlsx | Excel | Movimenti di vendita (VEN / VCL) del periodo | Raccom. |
| prezzi_materiali.xlsx | Excel | Prezzi aggiornati dal gestionale, usati come fallback | Opz. |
| dbValutazioneLecchese.accdb | Access | Output: ricreato ad ogni elaborazione | Generato |
📁 DB Gestionale — dbMollificioLecchese.accdb
È il database principale del gestionale Lecchese. Il programma lo apre in sola lettura e non vi scrive mai nulla. Il percorso è preimpostato e non modificabile dall'utente nella scheda di configurazione.
| Campo | Tipo | Utilizzo |
|---|---|---|
| CODICE_PRODOTTO | Testo | Identificativo del prodotto (molla). Usato come chiave primaria di aggregazione |
| DATA | Data | Data di produzione. Filtrata dal periodo selezionato (Da/A) |
| MISURA | Testo | Misura del materiale grezzo (es. "0,7x5,2x74,3"). Usata per il lookup in materiali.accdb |
| SPECIFICA | Testo | Specifica del materiale (es. tipo acciaio). Usata per il lookup |
| FORNITORE | Testo | Fornitore del materiale grezzo. Usato per il lookup esatto |
| PESO | Testo | Peso dell'articolo. Conservato nel DB di output |
| PEZZI_PRODOTTI | Numero | Pezzi prodotti nella giornata (valore assoluto) |
| PEZZI_SCARTO | Numero | Pezzi scartati nella giornata (valore assoluto) |
| ACCETTAZIONE | Numero intero | Numero d'ordine di accettazione materia prima. Usato per cercare il Codice AdHoc in dbAccettazione |
Prodotti esclusi automaticamente
Le righe il cui CODICE_PRODOTTO inizia con =STR, <STR, FILO o NASTRO vengono ignorate durante la lettura. Si tratta di voci non pertinenti alla valorizzazione molle.
📁 DB Accettazione — dbAccettazione.accdb
Contiene lo storico delle accettazioni materia prima. Il programma lo usa per trovare il Codice AdHoc del materiale usato per ogni lavorazione. Il percorso è fisso: [CartellaDB]\DataBase\dbAccettazione.accdb — se non esiste, l'elaborazione continua comunque senza questo lookup.
| Campo | Tipo | Utilizzo |
|---|---|---|
| Accettazione | Numero intero | Numero di accettazione. Chiave di ricerca primaria (via campo ACCETTAZIONE della produzione) |
| Codice_Materia_Prima_Adoc | Testo | Il Codice AdHoc del materiale accettato. Questo è il valore che cerchiamo |
| Materiale | Testo | Descrizione testuale del materiale (es. "0.7 x 5.2 INOX AISI 316"). Usata come indice secondario (Misura+Specifica) per trovare il codice quando l'accettazione recente non lo ha |
Solo le righe con Codice_Materia_Prima_Adoc non nullo e non vuoto vengono caricate.
📁 DB Materiali — materiali.accdb
Contiene il catalogo dei materiali grezzi con i rispettivi prezzi e codici AdHoc. Usato sia come fallback per i codici AdHoc non trovati in dbAccettazione, sia come fonte principale dei prezzi materiale.
Il programma cerca il file nei seguenti percorsi in ordine:
- Il percorso specificato nella scheda configurazione
[CartellaDB]\...\PRG. COMPILATO OK\64\DATABASE\materiali.accdb[CartellaDB]\...\PRG. COMPILATO OK\32\DATABASE\materiali.accdb
| Campo | Tipo | Utilizzo |
|---|---|---|
| Misura | Testo | Misura del filo/nastro (es. "0,7x5,2"). Normalizzata prima del confronto |
| Specifica | Testo | Tipo materiale (es. "INOX AISI 316"). Confronto in MAIUSCOLO |
| Fornitore | Testo | Fornitore del materiale. Confronto in MAIUSCOLO. Usato solo per la chiave esatta |
| Codice_Adoc | Testo | Il Codice AdHoc del materiale nel gestionale |
| PREZZO | Numero | Prezzo unitario del materiale grezzo (es. €/kg). Fonte principale per Prezzo_Materiale |
La ricerca usa prima la chiave Misura|Specifica|Fornitore (esatta), poi solo Misura|Specifica (fallback se il fornitore non corrisponde). Se specifica e fornitore sono entrambi vuoti nel record di produzione, il lookup viene annullato.
📄 File Excel Vendite
È il file .xlsx esportato dal gestionale con tutti i movimenti di magazzino. Il programma legge solo il primo foglio, a partire dalla riga 2 (la riga 1 è l'intestazione). Ogni riga rappresenta un singolo movimento.
| Colonna | Lettera | Campo | Utilizzo |
|---|---|---|---|
| 2 | B | Codice prodotto | Codice dell'articolo venduto. Viene confrontato con i prodotti in DB con fuzzy matching (±20%) |
| 3 | C | Data | Data del movimento. Filtrata dal periodo Da/A configurato |
| 5 | E | Motivo | Tipo movimento. Vengono importati solo VEN (vendita) e VCL (vendita a cliente). Tutto il resto viene ignorato |
| 10 | J | Pezzi | Quantità venduta. Valore assoluto (il segno viene ignorato). Le righe con pezzi = 0 vengono saltate |
| 27 | AA | Prezzo | Prezzo unitario di vendita (€/pz). Se 0, viene applicato il fallback xlsx o la correzione manuale |
Fuzzy matching dei codici prodotto
I codici prodotto nel file Excel possono non corrispondere esattamente a quelli nel DB di produzione (differenze di maiuscole, spazi, trattini). Il programma usa un algoritmo di corrispondenza approssimata:
- Soglia: massimo 20% di differenza nel numero di caratteri diversi
- Tetto assoluto: massimo 4 caratteri di differenza
- Le corrispondenze trovate vengono memorizzate in cache per velocizzare i record successivi
- Se non c'è corrispondenza abbastanza buona, il prodotto viene comunque inserito con il codice originale dell'Excel
📄 prezzi_materiali.xlsx — Fallback prezzi
File opzionale esportato dal gestionale. Contiene prezzi aggiornati che vengono usati come fallback quando il DB materiali non ha un prezzo, o come fonte di verità in caso di conflitto con le correzioni manuali.
Il programma legge il primo foglio, a partire dalla riga 2.
| Colonna | Lettera | Contenuto | Utilizzo |
|---|---|---|---|
| 2 | B | Codice chiave | Può essere un Codice AdHoc (materiale grezzo) oppure un codice prodotto (articolo finito). Il programma usa lo stesso dizionario per entrambe le ricerche. |
| 5 | E | Prezzo 1 | Il programma scansiona queste colonne da sinistra a destra e prende il primo valore > 0. Tutti i valori 0 o vuoti vengono saltati. Il prezzo trovato viene arrotondato a 5 cifre decimali. |
| 6 | F | Prezzo 2 | |
| 7 | G | Prezzo 3 | |
| 8 | H | Prezzo 4 | |
| 9 | I | Prezzo 5 | |
| 10 | J | Prezzo 6 | |
| 11 | K | Prezzo 7 |
Come viene usato il file
| Scenario | Chiave usata | Campo aggiornato |
|---|---|---|
| Cerco il Prezzo Materiale di un prodotto | Codice AdHoc del prodotto (colonna B) | Prezzo_Materiale in PRODUZIONE |
| Cerco il Prezzo/pz di un prodotto | Codice prodotto (colonna B) | Prezzo in VENDITA |
Regola priorità: il gestionale vince sulle correzioni manuali
Se al momento della rielaborazione questo file ha un prezzo per un codice, quel prezzo prevale sulla correzione manuale fatta in precedenza. La correzione manuale viene preservata solo quando il gestionale non ha ancora un valore per quel codice.
💾 DB Output — dbValutazioneLecchese.accdb
È il database generato dal programma. Viene cancellato e ricreato da zero ad ogni elaborazione. Contiene due tabelle.
Non modificare questo file direttamente con Access
Qualsiasi modifica fatta direttamente nel file .accdb (senza usare il programma) verrà persa alla prossima elaborazione. Usa sempre il doppio click nell'interfaccia per le correzioni — il programma salva i flag override e ripristina i valori automaticamente.
TabellaValutazioni — riepilogo aggregato
Una riga per prodotto per tipo (PRODUZIONE o VENDITA).
| Campo | Tipo | Significato |
|---|---|---|
| ID | Autonumero | Chiave primaria |
| Fonte | Testo | PRODUZIONE o VENDITA |
| Prodotto | Testo | Codice prodotto normalizzato |
| Misura / Specifica / Fornitore / Peso | Testo | Caratteristiche fisiche del materiale grezzo |
| Pezzi_Prodotti | Numero | Totale pezzi prodotti nel periodo (solo PRODUZIONE) |
| Pezzi_Scarto | Numero | Totale pezzi scartati |
| Pezzi_Venduti | Numero | Totale pezzi venduti — calcolato da righe VENDITA, scritto in PRODUZIONE |
| Codice_AdHoc | Testo | Codice gestionale del materiale grezzo |
| Prezzo_Materiale | Numero | Prezzo del materiale grezzo (€/kg o simile) |
| Prezzo | Numero | Prezzo di vendita al pezzo (solo VENDITA) |
| Prezzo_Override | Bit | Flag: Prezzo è stato modificato manualmente |
| PrezzoMat_Override | Bit | Flag: Prezzo_Materiale è stato modificato manualmente |
| CodiceAdHoc_Override | Bit | Flag: Codice_AdHoc è stato modificato manualmente |
| Giacenza_Override | Bit | Flag: giacenza rettificata tramite inventario fisico. La cella viene colorata in arancione nella griglia |
| Giacenza_Rettificata | Numero | Giacenza calcolata via inventario fisico: GiacenzaRilevata + Σproduzione_dopo − Σvendite_dopo |
TabellaInventario — inventari fisici
Creata automaticamente al primo utilizzo. Persiste tra le rielaborazioni — i dati non vengono mai cancellati dall'elaborazione, solo ripristinati.
| Campo | Tipo | Significato |
|---|---|---|
| ID | Autonumero | Chiave primaria |
| Prodotto | Testo | Codice del prodotto inventariato |
| DataInventario | Data/Ora | Data in cui è stato rilevato il conteggio fisico |
| GiacenzaRilevata | Numero | Pezzi contati fisicamente in quella data |
TabellaParticolari — dettaglio giornaliero
Un record per ogni singola riga sorgente (una per ogni giorno di produzione, una per ogni movimento Excel).
| Campo | Significato |
|---|---|
| Fonte | PRODUZIONE o VENDITA |
| Prodotto | Codice normalizzato (dopo fuzzy match per le vendite) |
| ProdottoOriginale | Codice originale dalla sorgente (utile per verificare il fuzzy match) |
| Data | Data del movimento |
| Misura / Specifica / Fornitore / Peso | Caratteristiche fisiche (solo PRODUZIONE) |
| Pezzi_Prodotti | Pezzi in quella giornata |
| Pezzi_Scarto | Scarti in quella giornata |
| Prezzo | Prezzo del movimento (solo VENDITA) |
| Codice_AdHoc | Codice AdHoc del materiale (solo PRODUZIONE) |
⚙️ Scheda Configurazione
Visibile solo in modalità admin. Tutti i percorsi sono salvati automaticamente e riproposti alla riapertura.
| Campo | Descrizione | Salvataggio |
|---|---|---|
| DB Mollificio Lecchese | Preimpostato, non modificabile. DB principale del gestionale | Fisso |
| DB Valutazione | Percorso del file .accdb di output. Può essere nuovo o esistente (verrà sovrascritto) | My.Settings |
| File Excel vendite | Il .xlsx con i movimenti esportati dal gestionale | My.Settings |
| DB Materiali | Il database materiali con prezzi e codici AdHoc | My.Settings |
| Prezzi materiali xlsx | File opzionale con prezzi aggiornati dal gestionale | My.Settings |
| Periodo Da / A | Intervallo date per filtrare produzione e vendite. Salvato nel DB di output alla fine dell'elaborazione | Nel DB |
Apertura automatica sulla scheda Risultati
Se all'apertura esiste già un DB di valutazione con dati, la finestra si apre direttamente nella scheda Risultati, saltando la configurazione.
▶ Il processo di elaborazione
Cliccando Avvia elaborazione parte un processo in background con barra di avanzamento. Il DB viene completamente ricreato da zero.
Salvataggio correzioni e inventari (pre-elaborazione)
Prima di cancellare il DB, legge in RAM:
- Tutte le modifiche flaggate con i bit
*_Override(prezzi, codici AdHoc) — riapplicate alla fine solo dove il gestionale non ha un valore aggiornato. - Tutti i record di
TabellaInventario(un record per prodotto, il più recente per data) — ripristinati integralmente dopo la ricreazione del DB.
Lettura produzione dal gestionale
Legge TabellaOrdiniEvasi per il periodo selezionato. Per ogni riga:
- Cerca il Codice AdHoc (cascata: accettazione → storico → materiali.accdb)
- Cerca il Prezzo Materiale (materiali.accdb → xlsx fallback)
- Aggrega i pezzi per prodotto
- Inserisce ogni riga singola in
TabellaParticolari
Inserimento riepilogo produzione
I dati aggregati dello STEP A vengono inseriti in TabellaValutazioni come righe PRODUZIONE, una per prodotto.
Lettura vendite dall'Excel
Scorre il file Excel. Considera solo righe VEN / VCL nel periodo. Per ogni vendita:
- Fuzzy match con i prodotti in DB (±20% caratteri, max 4 diff.)
- Aggrega pezzi e prezzo per prodotto
- Inserisce in
TabellaParticolarie inTabellaValutazionicome rigaVENDITA
Calcolo giacenze
Per ogni prodotto PRODUZIONE, aggiorna Pezzi_Venduti sommando i pezzi dalle righe VENDITA corrispondenti. La giacenza (Prodotti − Venduti) viene poi calcolata dinamicamente nella visualizzazione.
Ripristino e applicazione inventari fisici
I dati di inventario fisico salvati al passo 0 vengono reinseriti in TabellaInventario. Per ogni prodotto inventariato:
- Somma i pezzi prodotti dopo la DataInventario (da
TabellaParticolari) - Somma i pezzi venduti dopo la DataInventario
- Calcola
Giacenza_Rettificata = GiacenzaRilevata + produzione_dopo − vendite_dopo - Imposta
Giacenza_Override = Truee salva il valore inTabellaValutazioni
Ripristino correzioni manuali
Le modifiche salvate al passo 0 vengono riapplicate. Per Prezzo e Prezzo Materiale: solo se il file xlsx aggiornato non ha un valore per quel codice. Per Codice AdHoc: sempre, incondizionatamente.
🔗 Codici AdHoc
Il Codice AdHoc è il codice con cui il gestionale identifica il materiale grezzo. È il ponte tra il prodotto finito e il suo materiale di costo.
tabellaAccettazione e legge Codice_Materia_Prima_Adoc.TabellaMateriali: prima con chiave Misura+Specifica+Fornitore (esatta), poi solo Misura+Specifica. Annullato se specifica e fornitore sono entrambi vuoti.💶 Logica prezzi
Due tipi di prezzo distinti, con cascate di lookup indipendenti. Tutti arrotondati a 5 cifre decimali.
Prezzo Materiale (costo del filo grezzo)
Prezzo / pz (prezzo di vendita)
✏️ Modifiche manuali e permanenza
Ogni modifica fatta tramite interfaccia viene salvata con un flag di override. Questi flag permettono al programma di sapere quali valori sono stati corretti a mano e devono essere preservati nelle rielaborazioni future.
| Flag DB | Campo protetto | Quando viene preservato |
|---|---|---|
Prezzo_Override | Prezzo/pz (riga VENDITA) | Solo se prezzi_materiali.xlsx non ha prezzo per quel codice prodotto |
PrezzoMat_Override | Prezzo_Materiale (riga PRODUZIONE) | Solo se prezzi_materiali.xlsx non ha prezzo per il Codice AdHoc del prodotto |
CodiceAdHoc_Override | Codice_AdHoc | Sempre — è una mappatura, non un prezzo. Il gestionale non può sovrascriverla |
Scenario tipico di utilizzo
Il Codice AdHoc di un prodotto non esiste ancora nel gestionale → lo inserisci manualmente → il codice viene preservato per sempre. Nel frattempo il gestionale aggiorna il prezzo per quel codice nell'xlsx → alla prossima elaborazione il prezzo aggiornato del gestionale prenderà automaticamente la precedenza sulla vecchia correzione manuale del prezzo, ma il codice AdHoc che hai inserito a mano resta invariato.
📊 Scheda Risultati
Mostra i dati elaborati. In alto: barra ricerca e selettore vista. In basso: totale valore magazzino (visibile solo senza filtro "Solo Produzione").
| Elemento UI | Funzione |
|---|---|
| Campo + testo ricerca | Filtra le righe cercando il testo nel campo selezionato |
| Cerca / Tutti | Applica o azzera il filtro corrente |
| Selettore vista | Cambia tra le tre modalità di visualizzazione |
| Solo Produzione | Mostra solo righe PRODUZIONE, nasconde vendite e totale |
| Crea Excel | Esporta la vista corrente in xlsx formattato |
| PDF Riepilogo | Report PDF della tabella riepilogativa (compare dopo elaborazione) |
| PDF Dettaglio | Report PDF con lo storico del prodotto selezionato |
👁️ Le tre viste
Vista Classica
Una riga per prodotto. Tutte le colonne: Prodotto, Codice AdHoc, Misura, Specifica, Fornitore, Peso, Pezzi Prodotti, Pezzi Scarto, Prezzo Materiale, Pezzi Venduti, Giacenza, Prezzo/pz, Totale.
Vista Materiali
Raggruppa per Misura + Specifica + Fornitore. Mostra quanti pezzi totali sono stati prodotti con un certo tipo di filo, indipendentemente dalla forma della molla.
Vista Articoli
Raggruppa per codice articolo (prefisso del codice prodotto). Aggrega varianti dello stesso articolo base.
Il doppio click per modificare valori funziona in tutte e tre le viste. Per le viste raggruppate, la modifica aggiorna tutte le righe DB che appartengono a quel gruppo (stessa Misura+Specifica+Fornitore o stesso Articolo).
📋 Card prodotto
Selezionando una riga nella vista classica, sotto la tabella appare una card con i dettagli del prodotto:
- Nome prodotto — grande, in blu
- Riga informativa — Misura, Specifica, Fornitore, Peso, Pezzi Prodotti, Pezzi Scarto (il Prezzo è visibile solo in modalità admin)
- Box giacenza — mostra i pezzi in giacenza con indicatore visivo
Soglia giacenza "trascurabile"
La giacenza viene mostrata in grigio (trascurabile) solo se soddisfa entrambe le condizioni: è inferiore al 5% dei pezzi prodotti E non supera 15.000 pezzi. Entrambe le soglie sono configurabili nel codice.
Cliccando sul nome prodotto nella tabella si apre la scheda articolo nella finestra principale del gestionale (solo in modalità admin).
Sotto la card compare la TabellaParticolari: ogni riga sorgente per data, sia produzione che vendite, per controllare l'andamento giornaliero.
✏️ Editing interattivo
Tre campi sono modificabili con doppio click sulla cella (solo in modalità admin):
| Campo | Come si modifica | Cosa aggiorna nel DB |
|---|---|---|
| Codice AdHoc | Finestra di input testo. Può essere lasciato vuoto. | Codice_AdHoc in TabellaValutazioni e TabellaParticolari + flag CodiceAdHoc_Override = True |
| Prezzo Materiale | Finestra di input numerico | Prezzo_Materiale in tutte le righe PRODUZIONE di quel prodotto + flag PrezzoMat_Override = True |
| Prezzo / pz | Finestra di input numerico | Aggiorna o crea la riga VENDITA con il nuovo prezzo + flag Prezzo_Override = True |
| Giacenza | Doppio click sulla colonna Giacenza (solo vista classica). Appare una finestra con un selettore data (data dell'inventario fisico) e un campo numerico (pezzi contati fisicamente). | Salva in TabellaInventario + ricalcola Giacenza_Rettificata + imposta Giacenza_Override = True. La cella Giacenza diventa arancione come indicatore visivo. |
Giacenza editabile solo in Vista Classica
Il doppio click sulla colonna Giacenza è abilitato solo nella vista classica (una riga per prodotto). Nelle viste Materiali e Articoli il doppio click non produce azioni sulla giacenza perché il raggruppamento non consente un'associazione univoca al prodotto.
📦 Inventario fisico
La giacenza standard è un valore calcolato: Pezzi Prodotti − Pezzi Venduti. Se i dati sorgente del gestionale hanno errori, omissioni o movimenti fuori dal periodo, la giacenza calcolata può divergere dalla realtà. L'inventario fisico permette di ancorare la giacenza a un conteggio reale fatto in reparto, e di mantenerla aggiornata automaticamente nelle elaborazioni successive.
Come si usa
- Aprire la scheda Risultati in vista classica
- Fare doppio click sulla cella Giacenza di un prodotto
- Nella finestra che si apre:
- Selezionare la data dell'inventario (giorno in cui è stato fatto il conteggio fisico)
- Inserire i pezzi contati fisicamente in quel momento
- Confermare. La cella Giacenza si aggiorna immediatamente e diventa arancione per segnalare che si tratta di un valore da inventario fisico, non di un calcolo puro.
Come funziona internamente
Il dato inserito viene salvato in TabellaInventario con il prodotto, la data e i pezzi rilevati. Il programma calcola poi:
Formula giacenza rettificata
Giacenza = GiacenzaRilevata + Σ(pezzi prodotti dopo DataInventario) − Σ(pezzi venduti dopo DataInventario)
Cioè: partiamo dal conteggio fisico e aggiungiamo/sottraiamo tutto quello che è successo dopo quel giorno. In questo modo la giacenza rimane sempre aggiornata man mano che si elaborano periodi successivi.
Persistenza nelle rielaborazioni
Ogni volta che si avvia una nuova elaborazione, il programma:
- Legge in RAM tutti i record di
TabellaInventarioprima di cancellare il DB - Ricrea il DB con i nuovi dati di produzione e vendita
- Reinserisce i record di inventario in
TabellaInventario - Ricalcola automaticamente la giacenza rettificata per ogni prodotto inventariato con i nuovi dati
Questo significa che non è necessario reinserire l'inventario fisico ad ogni elaborazione. Il dato persiste e si aggiorna da solo.
Più inventari per lo stesso prodotto
Se si effettuano inventari fisici in date diverse per lo stesso prodotto, il programma usa sempre il più recente. Il più recente è quello con la data più alta in TabellaInventario.
Cosa si ottiene
Giacenza affidabile
Non più dipendente al 100% dai dati del gestionale. Se il gestionale ha un gap storico, l'inventario lo corregge.
Auto-aggiornamento
A ogni nuova elaborazione la giacenza rettificata incorpora automaticamente la produzione e le vendite del periodo nuovo.
Indicatore visivo
La cella Giacenza arancione appare immediatamente dopo il salvataggio, senza dover rielaborare. Segnala quali prodotti usano un conteggio fisico.
Non cancellare da Access direttamente
Se si apre dbValutazioneLecchese.accdb in Access e si cancella un record da TabellaInventario, la griglia del programma continuerà a mostrare la giacenza arancione con il vecchio valore — perché TabellaValutazioni ha ancora Giacenza_Override = True e Giacenza_Rettificata al vecchio numero.
L'effetto si normalizza solo alla prossima elaborazione: il programma non trova più il record in TabellaInventario, non lo ripristina, e la giacenza torna al calcolo automatico (Prodotti − Venduti) con colore normale.
📤 Export e PDF
Crea Excel
Esporta i dati della vista corrente in un file .xlsx formattato con EPPlus. Include le colonne visibili, intestazioni, formattazione numeri e larghezze ottimizzate. Il pulsante è visibile solo nella scheda Risultati, solo in modalità admin.
PDF Riepilogo
Report PDF con la tabella riepilogativa del periodo. Compare dopo l'elaborazione.
PDF Dettaglio
Report PDF con lo storico giornaliero del prodotto selezionato (dalla TabellaParticolari). Compare dopo la selezione di un prodotto.
👤 Modalità Ospite
Modalità Admin
Apertura: New frmValutazioneLecchese()
Accesso completo a tutto.
Modalità Ospite
Apertura: New frmValutazioneLecchese(ospite:=True)
Titolo "Magazzino". Solo lettura, zero prezzi.
| Elemento | Stato in Ospite |
|---|---|
| Scheda Configurazione | Nascosta completamente |
| Pulsante Crea Excel | Nascosto |
| Pulsanti PDF Riepilogo / Dettaglio | Nascosti |
| Colonne Prezzo, Prezzo_Materiale, Prezzo_Totale, Valore, Valutazione | Nascoste nella griglia |
| Totale magazzino (label in basso) | Nascosto |
| Prezzo nella card prodotto | Non incluso nella riga informativa |
| Doppio click per modifica | Completamente disabilitato |
| Titolo finestra | "Magazzino" |
| Cursore di avvio | Clessidra durante il caricamento |
⚠️ Alert misure inconsistenti
Durante l'elaborazione il programma controlla se lo stesso prodotto è stato prodotto con misure diverse in date differenti. Al termine, se rilevate, appare una finestra con la lista dei prodotti e le misure trovate.
Cosa fare con gli alert
Verificare nel gestionale se è un errore di digitazione o una variazione legittima. Se è legittima, l'alert continuerà ad apparire ad ogni elaborazione — è normale, non è un errore del programma.
🔄 Ripartire da capo
Durante lo sviluppo o in caso di test, può essere necessario azzerare completamente il database di output e ricominciare da zero, come se il programma non fosse mai stato usato.
Come si fa
Basta eliminare fisicamente il file dbValutazioneLecchese.accdb dalla cartella in cui è stato creato. Al prossimo avvio dell'elaborazione il programma lo ricrea da zero.
Cosa si perde eliminando il file
L'eliminazione è irreversibile. Vengono persi:
- Tutte le correzioni manuali (prezzi, codici AdHoc) inserite con doppio click
- Tutti i record di inventario fisico salvati in
TabellaInventario
I dati sorgente (gestionale, Excel vendite, materiali) non vengono toccati.
Alternativa: rielaborare senza perdere le correzioni
Se si vuole solo aggiornare i dati con un periodo nuovo (senza perdere le modifiche manuali e gli inventari), non è necessario eliminare il file. È sufficiente cliccare Avvia elaborazione: il programma salva automaticamente tutte le correzioni e gli inventari in RAM prima di cancellare le tabelle, e li ripristina dopo.
| Azione | Correzioni manuali | Inventari fisici | Dati produzione/vendite |
|---|---|---|---|
| Avvia elaborazione | Preservati | Preservati | Aggiornati |
| Elimina file .accdb | Persi | Persi | Ricreati alla prossima elaborazione |
Documentazione generata l'8 maggio 2026 · Mollificio Lecchese · Versione 4.0