Salve,
ho realizzato un gestionale che si occupa di emisione DDT/ Fatture ect....
L'applicativo è fruibile su diverse piattaforme, dall'IPAD , PC , smartphone etc...
e oggi è successo che ci siamo ritrovati con alcuni documenti con lo stesso numero progressivo.
la cronologia delle query per l'attribuzione del num. progressivo all'interno dello script php avviene in questo modo:
Codice PHP:
//carico la numerazione progressiva corrente
1) "SELECT indice as num_prog FROM index_progressive WHERE tipoDoc='DDT' LIMIT 1";
......
$contatore = $row['num_prog'];
$contatore++;
......
//inserisco il documento nell'archvio associato al numero_progressivo
2) "INSERT INTO registro (numDoc,campo2, campo3, ecc) VALUES ($contatore, e altri valori campi)
//incremento la numerazione progressiva
3) "UPDATE index_progressive SET indice=indice+1 WHERE tipoDoc='DDT';
Tutto questo può avvenire anche simultaneamente, e credo che mentre si sta per scrivere un RECORD può accadere che un altro operatore possa svolgere la medesima operazione caricando lo stesso numero progressivo ed avendo come risultato due DDT con lo stesso numero.
Credo che sia meglio caricare la numerazione progressiva ed incremetarla da subito.
Ma ho dei dubbi anche in questo modo....
Che tipo di precauzione potrei aggiungere allo script che si occupa di memorizzare il documento????
Vi ringrazio per qualsiasi suggerimento...