Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1

    Gestione Nuovo record

    Salve a tutti, è la prima volta che posto in questo forum, ma lo leggo da molto e lo trovo molto interessante, i complimenti a tutti!!!

    Vi spiego subito il mio problema, credo che sia un po' il problema di tutti, allora sto creando un piccolo sw gestionale per la gestione di un magazzino, come posso gestire il numero di una nuova fattura, lavorando da più postazioni? Vi faccio un esempio:
    L'utente 1: avvia l'inserimento di una nuova fattura recupero il numero dell'ultima fattura e lo assegno alla fattura in creazione, fin qui nessun problema.
    L'utente 2 (da un'altra macchina) mentre l'utente 1 sta ancora lavorando inizia a creare una fattura, come faccio a sapere che c'è l'utente 1 che blocca il numero di fattura?
    e soprattutto se l'utente 1 annulla l'operazione come faccio a gestire poi il numero dell'utente 2?
    Spero di aver esposto al meglio il problema.

    grazie
    Mario

    p.s. spero di non essere OT, ma credo che sia un problema che dipenda dalla gestione del database e non dalla tecnologia che si utilizza.
    mavi82

  2. #2
    questo forum lo leggerai anche da tanto, ma il regolamento l'hai saltato a piè pari che db usi?

  3. #3
    Perdonatemi, è stata una mia mancanza.
    MySQL versione 5

    Grazie
    mavi82

  4. #4
    il numero fattura lo devi assegnare subito? potresti assegnarlo in fase di salvataggio...

  5. #5
    E' più corretto farlo vedere subito all'utente, potrebbe essergli utile...

    altrimenti il problema è risolto in fase di insert!
    mavi82

  6. #6
    allora devi 'prenotare' il numero. ma poi avrai sicuramente il problema dell'abbandono...

  7. #7
    ma in pratica dopo che anche il secondo va per salvare la fattura cosa deve succedere?
    assegnare un nuovo id solamente?
    segnalare all'operatore qualcosa?
    Ubuntu rulez!! :P

  8. #8
    assegnare un nuovo id solamente?
    Sarebbe la soluzione più corretta da un punto di vista fiscale, però si vanno a segnalare troppe cose all'utente.

    segnalare all'operatore qualcosa?
    Credo sia più corretto che segnalo all'utente che il numero precedente non è stato usato!



    Come posso eventualmente effettuare la prenotazione?
    mavi82

  9. #9
    ma se invece in un'altra tabella di appoggio vai a salvare temporaneamente l'id della fattura che stai mostrando all'operatore risolvi il problema..

    la tabella dovrà avere due campi:
    id temporaneo della fattura
    stato, che servirà per gestire gli id non usati diciamo che stato = 0 è in uso e stato = 1 rilasciato

    In pratica ora l'id dovrà tenere conto anche degli id salvati in questa tabella:
    - se in questa tabella non c'è nulla ti basi sulle fatture emesse come fai ora,
    - se in questa tabella ci sono tutti record con stato 0 tieni conto degli id delle fatture emesse e di questi temporanei per assegnarne uno di nuovo
    - quando un utente annullerà la fattura rilasciando l'id andrai ad aggiornare sulla tabella degli id temporanei lo stato di questo appena rilasciato settandolo a 1
    - infine se in apertura fattura risulta che ci sono uno o più id con stato 1=rilasciato assegnerai a quella nuovo appena aperta dall'operatore uno di quelli..


    Spero di essere stato chiaro in tutto sto giro
    Ubuntu rulez!! :P

  10. #10
    La soluzione della doppia tabella mi piace molto.
    Ora però, perdonatemi, vi pongo un'altra domanda:

    Come faccio a gestire la sincronia dell'accesso sulla tabella, mi spiego
    1 - utente 1 controlla la tb_appoggio: non ci sono numeri di fattura.
    2 - utente 1 recupera dal db il successivo numero di fattura
    3 - utente 2 controlla la tb appoggio e non ci sono numeri di fattura (utente 1 ancora nn ha salvato)
    4 - utente 1 salva nella tb appoggio il numero (con stato 0)
    5 - utente 2 recupera dal db il successibo numero di fattura (ovviamente lo stesso che ha recuperato ut1 nel passo 2)

    Inutile proseguire, i due utenti hanno lo stesso numero di fattura...

    Come lo risolvo.
    Grazie Mario
    mavi82

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.