Newsgroup: it.comp.appl.access
Titolo: Calcolo totali Fattura

Buongiorno a tutti.
Torno su un problema trattato da tempo. Su diversi miei applicativi ho una 
tabella "Documenti emessi" a cui sono agganciate le righe del documento e le 
righe dei totali, ognuna delle quali contiene il codice dell'aliquota IVA, 
imposta ed imponibile.
Potrebbero essere calcolate tramite una query, per la stampa o la 
visualizzazione, ma la scelta di precalcolarle č stata fatta:
1. per semplificare qualsiasi query da fare su un gruppo di documenti
2. per il fatto che, soprattutto le fatture di ingresso potrebbero essere 
state calcolate male (per non fare nomi: Media World); quindi l'utente DEVE 
poter immettere imponibile ed iva dal castelletto della fattura ricevuta, 
altrimenti i conti non torneranno mai.
Ecco il problema:
considerate maschera dei documenti e sottomaschera delle righe. Nella 
sottomaschera ho una routine AggiornaTotali() che provvede al ricalcolo dei 
totali. Essa viene richiamata sull'AfterUpdate di un record. Quando un 
record viene cancellato, posso richiamarla sull'evento Form_Delete ma...
Se cancello un gruppo di record, sarebbe molto piů efficiente richiamarla 
solo dopo che la cancellazione č stata completata. Questo potrei farlo 
sull'evento Form_AfterDelConfirm, che perň viene scatenato SOLO se nelle 
opzioni di Access č abilitata la Conferma per modifiche record.
Avete qualche idea per evitare di chiamare la routine n volte per n record?
-- 
Jonathan Canova
infoCHIOCCIOLAaladinoinformatica.com
www.aladinoinformatica.com
 

 record?
Personalmente non salvo questa informazione.
Se l'azienda ha un solo codice Iva, lo metto nella tabella
Intestazionefattura se ne ha diverse nella sottomaschera.
Poi a farmi le varie query veramente ci vuole un attimo.
Credo sia l'approccio più corretto.
-- 
_ _
Ciao
MAssimiliano Amendola            
www.accessgroup.it
Cisa1 - I° Conferenza Italiana per Sviluppatori Access Arezzo 4+5
Giugno 2005 Info:  
www.donkarl.com/it

 Credo sia l'approccio più corretto.
Non riesco a capire se, a livello di database, ti salvi i dati o no. Se non 
te li salvi hai il problema che, se l'utente deve inserire imponibile e iva 
"strani" non può farlo; se li salvi, dovresti avere lo stesso mio problema 
:-)


 lo stesso mio problema :-)
E perchè?
ti ripeto, io inserisco un campo con valore predefinito 20 se è l'unica
aliquota nella tabella dell'intestazione
altrimenti lo inserisco nella tabella dettaglio della fattura se ha diverse
aliquote
In ogni caso non inserisco mai in via programmatica il *0,2


 
www.aladinoinformatica.com
Io sono fortemente contrario a registrare campi calcolati in una tabella;
questo modo di operare, oltre ad essere contrario alle regole di
normalizzazione dei database relazionali, come mi piace ricordare provoca
fastidiosi mal di pancia di cui tu sicuramente avverti i sintomi.
Onestamente mi sfugge il motivo secondo il quale non puoi effettuare "on the
fly" i calcoli che oggi già effettui al variare dei dati della tabella
dettagli, calcoli il cui risultato poi vai a registrare in campi di una
tabella: il computo in tempo reale non richiede poi necessariamente l'uso di
queries, esistono sempre le funzioni di aggregazione proprio per questo.
-- 
Roberto
-----------------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
----------------------------------------------------

 queries, esistono sempre le funzioni di aggregazione proprio per questo.
E, infatti, generalmente sono d'accordo. Ma, come da post precedente:
1. semplicità in query già complesse. Il calcolo di un castelletto dell'IVA 
non è un 0.2*importo, ma è un po' più complesso (aggregazione per codice IVA 
delle righe di dettaglio, somma, arrotondamento con le regole dell'euro, 
calcolo delle singole imposte; se poi vuoi il totale, somma di tutti gli 
imponibili e di tutte le imposte).
2. L'utente potrebbe avere necessità di inserire valori diversi da quelli 
calcolati. Ripeto l'esempio: Media World esce con fatture non corrette. Per 
inserirle, devo avere dei campi per farlo, altrimenti non ci riesco.
Se volete un esempio, ne cerco una e ve lo faccio.



devi prevedere voci come arrotondamenti, tiico della bolletta dell'ENEL
