operaseconda ha scritto:
Ringrazio nuovamente per il prezioso aiuto. naturalmente seguo i consiglio di includere le date di validità (le parole sono pietre e quelle di gibra non lasciano scampo...)
operaseconda ha scritto:
ho ancora un dubbio: per 'prezzoUnitario' intendi il prezzo dell'articolo a listino?
Sì.
operaseconda ha scritto:
se si non capisco perchè includere 'PrezzoUnitario' nella tabella 'DettaglioLavorazioni', non dovrebbe già essere nella tabella listini?
Le tabelle di Testata e di Dettagli dei 'documenti' (di qualsiasi natura essi siano) escono dal concetto di
normalizzazione, perché le due tabelle (Testata e Dettagli) non devono essere 'dinamiche', in quanto i dati non cambieranno più nel tempo e quindi diventano
tabelle storicizzate.
Se così non fosse, quando è il momento di fare statistiche sui dati, magari anche confrontando diversi anni, sarebbe un bagno di sangue, perché si dovrebbero mettere in JOIN decine di tabelle, generare campi calcolati, e così via.
Ad esempio, te lo immagini a dover calcolare il prezzo totale di una riga di dettaglio in base al listino in vigore in funzione della data della fattura, tenendo conto di eventuali sconti applicati, ecc. ecc. ecc. Moltiplica per ogni riga di una fattura, poi devi calcolare il totale fattura (magari con e senza IVA) per 5 anni perchè la Proprietà (azienda) vuole vedere il trend di crescita (o di decrescita) per poi calcolare e sottrarre i prezzi di costo degli stessi articoli...
Roba da spararsi!!!
Per lo stesso motivo, se ci fai caso, io ti ho messo anche i campi AliquotaIVA e CodiceIVA.
In realtà nella riga di dettaglio andrebbero anche altri campi (ma ho voluto essere parco di suggerimenti ).
A titolo di esempio ti mostro i campi del nostro gestionale in azienda relativi alla riga di un documento (Fattura) :
AZIENDA_ID, DOC_ID, NUM_RIGA, DOC_RIGA_ID, COD_CF, DATA_DOC, COD_ART, DES_RIGA, UM, NUM_UM, UM_CONFEZIONE, NUMERO_CONFEZIONI, CONT_1_CONFEZIONE, QUANT_RIGA, PREZZO_LORDO_VU1, PREZZO_LORDO_VU2, SCONTO_1, SCONTO_2, SCONTO_3, SCONTO_4, SCONTO_5, SCONTO_CALCOLATO, SCONTO_PAG, PREZZO_NETTO_VU1, PREZZO_NETTO_VU2, IMPORTO_V1, IMPORTO_V2, PREZZO_NETTO_PAG_VU1, PREZZO_NETTO_PAG_VU2, IMPORTO_PAG_V1, IMPORTO_PAG_V2, [NOTE], NOTE_INT, COD_IVA, COD_CONTO, UM_BASE, CONVERS_UM_BASE, QUANT_UM_BASE, FLAG_OMAGGIO, FLAG_MOV_MAGAZZ_2, FLAG_NO_CESSIONE, COD_CAUS_MAG, COD_DEP, COD_DEP_2, FLAG_NO_STAMPA, NUM_SOTTORIGA, COD_CAT, FLAG_CONVERS_EDITABILE, PESO, DES_RIGA_L2, PESO_NETTO, PESO_IMBALLO, COD_VAR, COD_ART_VAR, COSTI_RIGA_V1, PREZZO_NETTO_TOT_VU1, FLAG_COSTI_RIGA_MAN, COD_LOT, FLAG_ADDEBITO_IVA, COD_LIST, NO_RICALC_PRZ, NUM_COLLI, FLAG_NUM_COLLI_MAN, FLAG_MATR_DOC, NUMERO_COLLI_4B, VOLUME_4B, FLAG_DES_MANUALE, NUM_SORT, PREZZO_LISTINO_VU1, PREZZO_LISTINO_VU2, COSTO_VU1, PREZZO_NETTO_MAG_VU1, TARA, CAPIENZA, FLAG_PICCO, PREZZO_LORDO_OMV_VU1, PREZZO_LORDO_OMV_VU2, PREZZO_NETTO_OMV_VU1, PREZZO_NETTO_OMV_VU2, IMPORTO_OMV_V1, IMPORTO_OMV_V2, FLAG_SCALA_PREMI, COMP_ECON_DATA_INIZ, COMP_ECON_DATA_FINE, PREZZO_UNITARIO_IVATO_VU1, PREZZO_NETTO_UNITARIO_IVATO_VU1, IMPORTO_RIGA_IVATO_V1, IMPORTO_IMPONIBILE_DI_RIGA_V1, IMPORTO_IVA_RIGA_V1, IMPORTO_CALC_PROVV_V1, IMPORTO_CALC_PROVV_V2, NO_RICALC_SCONTI, NOTE_CF
Specifico che il gestionale non l'ho fatto io, l'azienda l'aveva già prima che arrivassi.
Giusto per renderti conto di come stanno le cose...
Molti dei campi sopra non hanno alcun interesse per la gestione che devi fare tu, ma altri invece sono utilissimi, e come vedi qui non si applica la normalizzazione.
Poi, magari più avanti, ti potrò suggerire altri campi che tornano utili... Ma non vorrei mettere troppa carne al fuoco.