Newsgroup: it.comp.lang.visual-basic
Titolo: Questioni di logica (Lungo)

Non sapevo come altro intitolare il post.
Sono di fronte ad un problema di logica e mi appello al vostro stile di
programmazione per sapere come ne uscireste.
Sto realizzando un software per fare preventivi che utilizza
un magazzino prodotti interno.
Orbene. Il cliente fino ad oggi non aveva avanzato la richiesta che sto
per porvi e io molto semplicemente avevo previsto così:
Immagina Fornitore A ... immagginate i prodotti ... di cui n puntano ad
A. Bene.
Supponete ore che A cambi ragione sociale, e muti in B ... e questo
cambiamento lo faccia uno dei tanti dipendenti che sono nell'azienda.
Io che non sò di questa mutazione sociale, cercherò e vorrò continuare
a cercare sempre per A, quando invece A è diventata B.
Nella maniera più idiota possibile - ma anche molto restrittiva ho imposto
al programma di non permettere mutazioni di ragione sociale fintanto
che esistono prodotti/manodopere associate. Questo ragionamento filava
se non chè il cliente mi dice, ma se mi sono sbagliato cosa faccio?
Ora. La mia costrizione è solo a livello software, perchè comunque
all'interno
i dati sono relazionati tra loro con chiami primarie numeriche, ma da un
punto di vista logico ho implementato tale situazione per evitare la
situazione
di cui sopra (Cerco per A quando A è diventato B).
Le strade percorribili sono due. Una molto semplice, così come richiestami
dal Cliente. Tolgo la restrizione e finisce tutto, semplicemente togliendo
due righe di codice e dando messaggio in fase di aggiornamento che dice
"Attenzione, proseguendo con l'operazione si potrebbero perdere dei
riferimenti cognitivi verso il fornitore aggiornato".
La seconda, proposta da me, molto più complessa. Mi creo una tabella
di descrizione fornitore dove memorizzo tutte le descrizioni del fornitore
passate presenti e future con relativa data di inizio validità. Quando cerco
mostro tutta la lista dei fornitori indistintamente dalla validità, però
mostro ogni riga prodotto n volte quante sono le ragioni sociali del
fornitore
tolte ovviamente quelle che sono antecedenti la creazione del prodotto
stesso.
In tal senso se A è diventato B... facendo una ricerca per uno dei due
valori
trovo lo stesso il mio prodotto ... se non metto criteri, vedo due righe ...
e quando esplodo il dettaglio del prodotto, vedo comunque il prodotto
associato all'ull'ultima ragione sociale.
Una soluzione un peletto complesso, ma sostanzialmente pulita.
Voi, invece come fareste?
Saluti
Andrea Moro
--
Saluti
Andrea Moro

 Voi, invece come fareste?
Sostanzialmente la seconda: uno storico delle anagrafiche dei fornitori...
la data validitą come parte della chiave... possibilitą di filtrare o meno
le ragioni sociali obsolete nelle ricerche e nelle liste.
hth

Supponete ore che A cambi ragione sociale, e muti in B ... e questo
..... SNIP.
Scusa, le ricerche le fai per ragione sociale?
I fornitori non hanno un codice?
Es.  Anag. Fornitori
cod.   Rag. Soc.
001   Pippo SPA
007   James Bond Spa
Se il fornitore 001 diventa da PIPPO SPA a Pappo SRL i riferimenti al
codice 001 non cambiano, sempre se tutti gli altri archivi che puntano
al fornitore abbiano il riferimento 001 e non PIPPO SPA.
Eventualmente si può implementare uno storico per memorizzare le
variazioni fatte del tipo :
StorFornit
Data Cod RAg. Soc.
Ciao 
Giorgio

Lo storico lo farei su una tabella separata, ti semplifica molto la
vita.


 La seconda, proposta da me, molto più complessa.
Senza dubbio questa. Si pensi alle ristampe (con la libertà di stampare la
denominazione per data validità o quella attuale), ma anche (se vi sono) ai
bollati contabili che, per legge, devono riportare le denominazioni che
_erano_ alla registrazione di quel movimento.


Ingora ciò che ho detto, non avevo letto con attenzione, alla fine
concordo con lupo.
Ciao Giorgio

 ha scritto nel messaggio
news:b88n0q$7c2ga$1...@ID-61006.news.dfncis.de...
Risposta spicciola da niubbo :
Ma se A cambia ragione sociale vuol dire che A chiude e B apre , quindi per
me sarebbe logico avere in magazzino i prodotti di A fino ad esaurimento ! E
quindi la soluzione e' che A viene lasciata morire e viene creata un nuovo
fornitore chiamato B
Es: A muta in B oggi
-gli ordini di A finiscono oggi
-la merce di A resta in magazino ancora intestata ad A perche' la fattura
d'acquisto e' intestata ad A
-gli ordini a B iniziano oggi ex novo
-la merce di B anche se identica ad A e' separata con diversi codici essendo
di 2 fornitori diversi
logicamente puoi fare una tabella d'appoggio con i cambi di ragione sociale
per fare delle ricerche + complete ma se A cambia ragione sociale per me
vuol dire che A ha chiuso ^_^;

...ma se A cambia ragione sociale per me vuol dire che A ha chiuso ^_^;
Se davvero A chiude e B apre, č necessario creare un nuovo conto e mantenere
il vecchio, almeno sino a fine anno.
Ma A puņ aver cambiato ragione sociale o tipologia della societą, o anche
solo indirizzo. Cioč non ha chiuso.
Creando un nuovo conto ti togli la possibilitą di statistiche periodiche
sull'unico codice.

 fornitore chiamato B
Con Rag Soc  A ho acquistato 1000 pezzi e venduti 600
A passa a B, acquisto 400 pezzi dello stesso prodotto.
Il prezzo potrebbe aver subito una variazione.
Il calcolo dell'IVA ha subito una modifica.
Come riporto la situazione per fornitura ?
giuseppeD

Si, potrebbe anche essere come dici tu - LupoPremesse a parte -
ma la mia gestione di magazzino non è di tipo contabile/fiscale,
ma solo a livello di sintetizzazione di ciò che posso inserire in un
preventivo perchè lo tratta la mia azienda oppure no.
La gestione del magazzino vera e propria è affidata all'as 4 piotte.
quinid non mi devo minimamente andare a fare pippe mentali
su tutti i discorsi fiscali.
Il che ragionando meglio .. potrebbe farmi tornare sull'idea che
magari implementare un sistema di sapere quando A diventa
B non può che allungare il brodo per un futile motivo.
Che ne dite?
--
Saluti
Andrea Moro

 B non può che allungare il brodo per un futile motivo.
Dicevi:
"Supponete ore che A cambi ragione sociale, e muti in B ... e questo
cambiamento lo faccia uno dei tanti dipendenti che sono nell'azienda.
Io che non sò di questa mutazione sociale, cercherò e vorrò continuare
a cercare sempre per A, quando invece A è diventata B."
Il problema è quello della ricerca sulla denominazione, non sul codice
giusto?
Esclusi le implicazioni fiscali, consentire (per vecchia abitudine)
all'operatore "pigro" di continuare a cercare con la vecchia denominazione
pare un optional sin troppo generoso.
In sintesi, sarebbe come dire "ti consento di cercare SIP anche se ora si
chiama Telecom" e allora (dico io) perchè non consentire di esprimere gli
importi in lire anche se le lire non esistono più?
No, ai soli fini della ricerca, non mi porrei proprio il problema.
Ovviamente se il cliente lo vuole a tutti i costi (ho detto costi) e non ha
la pazienza di ... "abituarsi" alla nuova denominazione, beh, allora gli
puoi anche proporre di ricercare per numero civico (ovviamente quello della
casa di nascita) o per numero di targa, naturalmente quella del motorino di
quando aveva 15 anni... che ... sarà un Null ...

> Ovviamente se il cliente lo vuole a tutti i costi (ho detto costi) e
Recepito il messaggio ... e visto che al cliente in prima battuta
non gliene era fregato nulla del mio secondo sistema perchè troppo
elaborato per questo scopo, gli sparo fuoir un msbox con il
messaggino dove gli dico che verrà fatto un aggiornamento a tappeto
e che non deve rompermi i balloni se non trova più SIP, ma TELEZOZ.
-- 
Saluti
Andrea Moro

 periodiche sull'unico codice.
ecco, vedi che succede a parlare di cose che non si sanno ? ^_^
Da niubbone credevo che quando Pippo.srl diventa Pluto.spa si dovesse
obbligatoriamente considerare la pippo.srl defunta e la pluto come nuova
ditta !
-- 
<Gigio2K>
Sito Comune
Nokia -> I.T.H.N. -> 
http://www.ithn.it/
VB -> I.C.L.VB -> 
http://www.it-lang-vb.net/

 ditta !
Chiariamo: la Pippo SRL non esiste più, verissimo, e la Pluto SPA non è mai
esistita, è nuova, altrettanto vero. Ma (sempre che la Pippo SRL abbia
qualche transazione nell'anno fiscale) non posso cancellare il vecchio, nè,
necessariamente, devo creare il nuovo.
Per questioni _fiscali_, se stampo il libro giornale o il registro IVA
(anche in lecito ritardo) dovrò stampare SRL sino a una certa data e SPA da
un'altra. Potrei fare questo anche creando un nuovo codice, corrispondende a
SPA, da movimentare da quel momento in poi, senza più movimentare il codice
corrispondente a SRL.
Per questioni _gestionali_, invece, devo poter pretendere di avere un unico
totale (per esempio del venduto), un'unica scheda delle operazioni, etc.
Volendo conciliare queste due possibili esigenze, generalmente si preferisce
mantenere il vecchio (e unico codice), ma aggiornare la nuova denominazione,
non prima di aver archiviato su uno storico "anagrafico" la precedente
situazione, abbinata a una data di inizio (meglio fine) validità, da usarsi
solo in situazioni particolari. Ovviamente su tutta la "documentazione di
servizio" comparirà sempre e solo la denominazione corrente.