Newsgroup: it.comp.lang.visual-basic
Titolo: Sempre per il programma di preventivi

In seguito alla conferma di quello che dovrò realizzare,
mi è stata chiesta la storicizzazione degli articoli da
preventivare.
Ora io a suo tempo per un altro programma ho
già fatto la storicizzazione. Storicizzare significa che al
benchè minimo cambiamento di un dato nel record posso
sapere che tutti i preventivi fatti ad oggi con quell'articolo
mantengono le stesse caratteristiche.
All'epoca per realizzare la storicizzazione ho fatto un sistema
che alla minima modifica copiavo il record; facendo una
copia, l'articolo assumeva un nuovo id, di conseguenza
quello vecchio rimaneva immutato e tutti i vecchi preventivi
erano consistenti.
Quelli nuovi si basavano sullo stesso articolo ... ma che punta
a quello con il nuovo id.
Il sistema è abbastanza efficace, ma pienamente perfezionabile
per esempio facendo una tabella di prezzi collegata, che
aggiunge un record per ogni modifica di prezzo.
Ho dentro due campi uno con un riferimento di data e l'altro
con il prezzo, sò che tutti i preventivi dal al devono utilizzare
quel prezzo e gli altri il nuovo record e via dicendo.
Anche qua si può perfezionare.
Allora chiedo a voi ... come fareste?
--
Saluti
Andrea MORO
***************************************
Per rispondere togliere ET dal messaggio prima
della chiocciola.

 Allora chiedo a voi ... come fareste?
Sinceramente non mi piace molto. Anche l'affermazione "...Ho dentro due
campi uno con un riferimento di data e l'altro con il prezzo, sò che tutti i
preventivi dal al devono utilizzare quel prezzo e gli altri il nuovo record
e via dicendo..." non mi sembra corretta. Mi spiego: se tu fai un preventivo
a me, io tengo buono il prezzo che mi fai, indipendentemente da quanto hai
fatto ad altri un minuto prima e da quanto farai un minuto dopo.
Suggerirei un paio di tabelle apposite per i preventivi, una con i dati di
"Testata" (Cliente, data, numero, pagamento, note, etc.) e una con i dati
delle "Righe". In queste ultime metti l'ID dell'articolo (che non deve
essere duplicato, ma solo aggiornato quando si stabiliscono nuovi prezzi
"generali"), la quantità e il prezzo che mi hai preventivato.
Francamente non vedo molte alternative.

 mantengono le stesse caratteristiche.
 <CUT>
E' un po' quello che succede con l'anagrafica articoli - fatture.
Lo stesso articolo può assumere prezzi differenti per tempi e clienti
diversi.
La mia soluzione è quella di archiviare il prezzo per ogni riga di ogni
fattura;
si possono creare anche diversi 'profili' tariffari per ogni articolo,
quindi in ogni riga di fattura archiviare l'Id articolo e il suo Id di
profilo.
Più complesso da manutenere (o manutentare) ma più efficente in termini di
prestazioni.
Spero di aver centrato il problema :)
Saluti

 ha scritto nel messaggio
news:9bXB8.23894$5k4.5...@twister2.libero.it...


 preventivato.
Infatti: La tabella articoli non contiene duplicati (se non per avere una
storia delle varie modifiche fatte sugli articoli, non sui preventivi) e il
prezzo viene liberamente aggiornato e verrà proposto solo per i nuovi
preventivi. La riga di preventivo punta all'articolo per tutti i suoi dati,
ma non per il prezzo. Quello, infatti, è sulla riga stessa e se me lo cambi
dopo 10 giorni io non solo non compro più da te, ma ti guardo pure male
perchè mi avevi detto 1000 e 1000 devono essere anche se 3 giorni prima il
nuovo prezzo di vendita normale (quello sull'articolo) è stato modificato in
1500.