Progettazione Database per gestione strumentazione

di il
34 risposte

34 Risposte - Pagina 2

  • Re: Progettazione Database per gestione strumentazione

    Mi trovo d'accordo con la soluzione di Gibra che permette di gestire le movimentazioni, nel tempo, con le assegnazioni degli strumenti. come anche consigliato nella struttura dati proposta da OsvaldoLaviosa il 05 gen 2018, 14:49.
    In tal caso sarà sufficiente visualizzare la lista strumenti del dipendente (tabella Assegnazioni in base all'identificativo del dipendente) e, tramite un pulsante, accedere alla sezione nuova assegnazione ove sarà possibile scegliere gli strumenti a magazzino ed in caso di conferma aggiungere la nuova registrazione con dipendente, strumento e data di assegnazione.
    Con lo stesso criterio la restituzione partirà dai dati del dipendente (con la visualizzazione degli strumenti a lui assegnati, quale ultima movimentazione con identificativo corrispondente al dipendente) oppure direttamente con la ricerca del singolo strumento(ed individuazione a chi assegnato) e per generare lo spostamento, con la assegnazione a magazzino, si determinerà la aggiunta del movimento (con data, strumento, e dipendente="Magazzino").
    Poi certo uno è libero di realizzare ed implementare la soluzione più adatta in base alle sue conoscenze e competenze.
  • Re: Progettazione Database per gestione strumentazione

    Per avere la situazione proposta da Gibra dovrei presumere che il Dipendente 1 sia il Magazzino e non mi sembra corretta come impostazione inoltre debbo inserire un ulteriore record.
    Nel momento poi che volessi, per ipotesi, avere un riepilogo dei Strumenti assegnati ad ogni Dipendente ed il periodo, inizio-fine, in cui ne è stato in possesso credo sia un pò complesso ottenere il risultato.
  • Re: Progettazione Database per gestione strumentazione

    CarlettoFed ha scritto:


    Per avere la situazione proposta da Gibra dovrei presumere che il Dipendente 1 sia il Magazzino e non mi sembra corretta come impostazione inoltre debbo inserire un ulteriore record.
    Per conoscere le assegnazioni iniziali a magazzino vi può essere una fase di caricamento degli strumenti in modo da assegnarli a tale collocazione (Dipendente = "Magazzino") che poi sia il valore identificativo 1 è superfluo (anche se sarebbe preferenziale effettuare un iniziale assegnazione in modo da conoscere la lista degli strumenti inizialmente, disponibili e posti appunto a “Magazzino”).

    CarlettoFed ha scritto:


    Nel momento poi che volessi, per ipotesi, avere un riepilogo dei Strumenti assegnati ad ogni Dipendente ed il periodo, inizio-fine, in cui ne è stato in possesso credo sia un pò complesso ottenere il risultato.
    Sara sufficiente realizzare una query che ordinata per strumento determini l'ultimo movimento effettuato da ciascuno (quale massimo del campo dataAssegnazione e relativo orario se esistono più movimenti giornalieri dello strumento) che fornisce, quindi, la posizione attuale, e, se si vuole la situazione per dipendente basterà impostare il criterio di selezione sul dipendente, in modo da avere l'elenco degli strumenti a lui assegnati. Qualora si voglia conoscere il periodo di assegnazione, si effettuerà la differenza fra le due ultime date di assegnazione.
  • Re: Progettazione Database per gestione strumentazione

    Per non inserire un campo in più, quello della chiusura, guarda come ti complicheresti la vita:
    • - Dipendente che si chiama Magazzino
    • - Necessità di creare, sempre, un nuovo record per la chiusura
    • - Tutte le varie query, che tra l'altro nell'ultimo caso non darebbe un risultato corretto se tra due date di assegnazione di uno strumento ad un Dipendente ce ne fosse una di un'altro dipendente che interromperebbe il periodo, per ottenere, anche se fosse corretto, un risultato che si otterrebbe con una sola query
  • Re: Progettazione Database per gestione strumentazione

    Rispondo alle indicazioni, per chiarire i vari punti:

    CarlettoFed ha scritto:


    Per non inserire un campo in più, quello della chiusura, guarda come ti complicheresti la vita:
    - Dipendente che si chiama Magazzino
    Essendo un campo che gestisce la assegnazione come posizione ove è collocato lo strumento, può essere denominato "AssegnatoA"

    CarlettoFed ha scritto:


    - Necessità di creare, sempre, un nuovo record per la chiusura
    Non esiste "chiusura" ma lo status ove lo strumento è assegnato ed in quanto aggiornato nelle varie posizioni (dipendente/magazzino) i dati si presentano normalizzati (per quel che può contare nella situazione attuale) con operazioni basilari in tutti i casi.

    CarlettoFed ha scritto:


    - Tutte le varie query, che tra l'altro nell'ultimo caso non darebbe un risultato corretto se tra due date di assegnazione di uno strumento ad un Dipendente ce ne fosse una di un'altro dipendente che interromperebbe il periodo, per ottenere, anche se fosse corretto, un risultato che si otterrebbe con una sola query
    Dipende se sia accettabile il passaggio diretto fra dipendenti (senza passare dal magazzino) che è possibile e comunque controllabile se non voluto (così come ogni altra operazione di cui si voglia verifica).

    Mi permetto alcune, ulteriori, considerazioni a partire dalla proposta di CarlettoFed del 05 gen 2018, 21:24 (ove si propone una gestione del periodo con le due date di assegnazione.

    CarlettoFed ha scritto:


    All'atto di nuova assegnazione dovranno essere proposti, tramite opportuna casella combinata, solo gli strumenti che risultano, in quel momento, privi di DataFineAssegnazione.
    Nella fase iniziale con tutti gli strumenti non assegnati (che dovrebbero essere secondo inventario a Magazzino) non vi è la DataInizioAssegnazione e la DataFineAssegnazione per cui è da gestire una procedura ad hoc di scelta fra due componenti quelli movimentati e quelli no.

    CarlettoFed ha scritto:


    "Nel momento in cui l'assegnazione viene chiusa, inserendo la Data di chiusura, è implicito che lo strumento rientra in Magazzino.
    Se uno strumento rimane a magazzino e non viene mai assegnato, non avrà in nessun caso la data di chiusura, atta ad identificare la posizione a Magazzino (lo sarà solo se tutti gli strumenti saranno movimentati almeno una volta).

    CarlettoFed ha scritto:


    All'atto di nuova assegnazione dovranno essere proposti, tramite opportuna casella combinata, solo gli strumenti che risultano, in quel momento, privi di DataFineAssegnazione.
    Verrà così effettuata la chiusura del periodo in cui lo strumento è assegnato, al dipendente; quindi per determinare l'elenco degli strumenti assegnati al dipendente si effettuerà una query ove la DataFineAssegnazione non è valorizzata.mentre per quelli a Magazzino si dovranno determinare gli strumenti la cui operazione è in chiusura (con entrambe le date) quale massimo della DataFineAssegnazione a cui dovranno essere aggiunti in qualche modo gli strumenti mai movimentati.
    Per quanto riguarda i periodi viene semplificato il calcolo fra le 2 date nel caso assegnazione al dipendente ma nel caso del magazzino sarà legato alla DataInizioAssegnazione (al dipendente) - la DataFineAssegnazione (operazione conclusa che identifica lo status a magazzino) del record, temporalmente, precedente. Ne consegue che vi saranno diverse modalità di calcolo per la determinazione dei periodi di inventario.

    Quanto sopra per evidenziare i differenti punti di vista, che magari potrebbero innescare ulteriori elementi di discussione, ma in ogni caso, sarà l'utente a stabilire (in base alle sue valutazioni) la struttura che vorrà impiegare.
  • Re: Progettazione Database per gestione strumentazione

    CarlettoFed ha scritto:


    Per non inserire un campo in più, quello della chiusura, guarda come ti complicheresti la vita:
    Non ci vedo nulla di complicato. Anzi, esattamente il contrario.

    Comunque, ognuno ha il proprio modo di vedere e ragionare, ed è giusto che ognuno lo proponga.
    Da qui a dire che quello che propongono 'gli altri' è sbagliato mi sembra un tantino pretestuoso, anche perché se siamo in tre ad avere la stessa opinione un motivo ci sarà...

    Mi pare che l'argomento è stato ampiamente dibattuto e argomentato, lasciamo che sia l'interessato a scegliere quello che più preferisce e ritiene più consono alle proprie esigenze.
  • Re: Progettazione Database per gestione strumentazione

    Scusate il ritardo, ma ho avuto problemi a continuare il lavoro sul DB....
    Ringrazio tutti per queste delucidazioni ma vorrei chiarire che il punto rilevante non è tener traccia delle movimentazioni con uno storico, a me importa tracciare il movimento da una risorsa al magazzino o viceversa.
    Le date assegnazione/restituzione risultano si importanti, però mi chiedo se:
    a Luca viene assegnto lo strumento1 il 01/02/2018 dal magazzino
    il 10/02/2018 lo riconsegna a magazzino
    avrò nella tabella inventario di magazzino: Strumento1 con dataAssegnazione 01/02/2018 e data restituzione 10/02/2018
    ma se questo strumento1 verrà riassegnato ad un altra risorsa le date assegnazione/restituzione compariranno lo stesso come 01/02/2018 e 10/02/2018 invece vorrei che questi campi siano vuoti.

    Spero di essere stato chiaro altrimenti fatemi sapere.

    Ancora grazie.
  • Re: Progettazione Database per gestione strumentazione

    Per me se non gestisci uno "storico", Strumento1 che oggi si trova in Magazzino non saprai mai chi lo ha preso-restituito prima, quindi non avrebbe più senso parlare di DataRestituzione.
    Non devi "cancellare" e/o "sostituire" dati scritti prima, ma "incrementare" lo storico. Una query con le date "ultime" ti mostrerà dove stanno tutti gli strumenti...credo sia stato già detto...

    Tu prova a gestire questo problema su 2 database diversi impostati "con storico" e "senza storico". Valuta tu come ti trovi meglio.
  • Re: Progettazione Database per gestione strumentazione

    Mi sono permesso di creare un piccolo esempio per un'ipotesi di gestione dei dati questo è il link
    https://app.boolebox.com/app/index.html?obj=3500380031003100360035003900320035003200330031003500350039003700340031003100
  • Re: Progettazione Database per gestione strumentazione

    CarlettoFed ha scritto:


    Mi sono permesso di creare un piccolo esempio per un'ipotesi di gestione dei dati questo è il link
    https://app.boolebox.com/app/index.html?obj=3500380031003100360035003900320035003200330031003500350039003700340031003100
    Ciao Carletto, non riesco ad aprire l'esempio.
  • Re: Progettazione Database per gestione strumentazione

    Perché il file è corrotto.
  • Re: Progettazione Database per gestione strumentazione

    OsvaldoLaviosa ha scritto:


    Per me se non gestisci uno "storico", Strumento1 che oggi si trova in Magazzino non saprai mai chi lo ha preso-restituito prima, quindi non avrebbe più senso parlare di DataRestituzione.
    Non devi "cancellare" e/o "sostituire" dati scritti prima, ma "incrementare" lo storico. Una query con le date "ultime" ti mostrerà dove stanno tutti gli strumenti...credo sia stato già detto...

    Tu prova a gestire questo problema su 2 database diversi impostati "con storico" e "senza storico". Valuta tu come ti trovi meglio.
    Ok.. provo, ma come strutturo la tabella storico?
    Non capisco come strutturarla, puoi farmi un esempio.
  • Re: Progettazione Database per gestione strumentazione

    Probabilmente devi aggiornare WinRar, comunque qui
    https://app.boolebox.com/app/index.html?obj=340033003700360037003600340036003300340031003400310033003600360034003300
    trovi l'esempio direttamente in formato Access
  • Re: Progettazione Database per gestione strumentazione

    CarlettoFed ha scritto:


    Probabilmente devi aggiornare WinRar
    No, è proprio corrotto il file.

    Il file MDB invece è OK.
  • Re: Progettazione Database per gestione strumentazione

    Ciao...
    sto ancora lottando con questo db e non ne esco...
    Date le mie enormi lacune avrei pensato di virare su questa strada:

    Tabella Inventario(IDArticolo,DescrizioneArticolo,Matricola,Disponibile(SI/NO))
    Tabella Dipentente(IDDipendente,Cognome,Nome,ecc)
    Tabella AssegnazioneArticolo(IDAssegnazione,IDArticolo,IDDipendente,DataAssegnazione)
    Tabella RestituzioneArticolo(IDAssegnazione,IDArticolo,IDDipendente,DataRestituzione)

    Facendo le assegnazioni ai vari dipendenti degli articoli (specifico che sono tutti univoci) vorrei che la tabella Inventario mi aggiornasse il campo Disponibile da SI(che è un valore di default) a NO, cosi tramite query posso estrapolare la giacenza di magazzino.

    Come faccio ad ad automatizzare questo processo?
Devi accedere o registrarti per scrivere nel forum
34 risposte