Sono evitabili gli "L'utente XXXX sta utilizzando questo rec
Moderatore: Moderatori
-
- Messaggi: 175
- Iscritto il: giovedì 22 marzo 2007, 1:00
Sono evitabili gli "L'utente XXXX sta utilizzando questo rec
Ovvero
Avendo un DB in rete con fmserver (11) e vari client, tra cui uno che esegue da solo una volta al minuto tutta una serie di operazioni, qualcuno saprebbe darmi qualche idea su come evitare che, se per sbaglio le operazioni automatiche interessano un record aperto da un altro utente, non si fermi tutto con il messaggio "L'utente pincopallino sta utilizzando il record" a cui ovviamente nessuno dara' l'ok (che qui è RIPROVA) visto che questo particolare client sta girando da solo?
A me basterebbe anche solo un qualcosa che invece di fermar tutto col messaggio aperto fermi tutto nell'attesa che l'altro utente dia l'OK al suo record
ci sara' un modo?
grazie
Avendo un DB in rete con fmserver (11) e vari client, tra cui uno che esegue da solo una volta al minuto tutta una serie di operazioni, qualcuno saprebbe darmi qualche idea su come evitare che, se per sbaglio le operazioni automatiche interessano un record aperto da un altro utente, non si fermi tutto con il messaggio "L'utente pincopallino sta utilizzando il record" a cui ovviamente nessuno dara' l'ok (che qui è RIPROVA) visto che questo particolare client sta girando da solo?
A me basterebbe anche solo un qualcosa che invece di fermar tutto col messaggio aperto fermi tutto nell'attesa che l'altro utente dia l'OK al suo record
ci sara' un modo?
grazie
-
- Messaggi: 9700
- Iscritto il: lunedì 1 dicembre 2003, 1:00
- Località: Roma
- Contatta:
Re: Sono evitabili gli "L'utente XXXX sta utilizzando questo
imposti la cattura errori. e usi un get(ultimoerrore) per ciascun record vedere se il record è occupato o meno.
.g.
.g.
-
- Messaggi: 175
- Iscritto il: giovedì 22 marzo 2007, 1:00
Re: Sono evitabili gli "L'utente XXXX sta utilizzando questo
davvero?
Accidenti... la routine è complessa e ne richiama altre, ma giurerei di averci provato e che non funzionasse affatto. La difficoltà pero' sarebbe: quando controllo l'errore? Cioe'.... immagina una quindicina di routine che vengono eseguite una dopo l'altra in sequenza, ognuna delle quale esegue moltissime operazioni su tante tabelle diverse. Quando va eseguito questo controllo? Ogni volta che compilo un campo?
aggiornamento: ho rincontrollato. E' vero, mi ero confuso. Mettendo imposta cattura errori in effetti lo script non si ferma piu'. Pero' non viene rilevato nessun errore con get(ultimoerrore)
Accidenti... la routine è complessa e ne richiama altre, ma giurerei di averci provato e che non funzionasse affatto. La difficoltà pero' sarebbe: quando controllo l'errore? Cioe'.... immagina una quindicina di routine che vengono eseguite una dopo l'altra in sequenza, ognuna delle quale esegue moltissime operazioni su tante tabelle diverse. Quando va eseguito questo controllo? Ogni volta che compilo un campo?
aggiornamento: ho rincontrollato. E' vero, mi ero confuso. Mettendo imposta cattura errori in effetti lo script non si ferma piu'. Pero' non viene rilevato nessun errore con get(ultimoerrore)
-
- Messaggi: 9700
- Iscritto il: lunedì 1 dicembre 2003, 1:00
- Località: Roma
- Contatta:
Re: Sono evitabili gli "L'utente XXXX sta utilizzando questo
diciamo ogni volta che intervieni su un record (ovvero compili il primo campo del record)Ogni volta che compilo un campo
con get(ultimoerrore
bah, perché è l'errore dell'ultima voce di script usata prima del controllo. l'idea è usarlo sul tipo
…imposta campo[tabella:campo]
if[ get(ultimoerrore)<>0]
elimina routine o fai qualcosa
end if
.g.
-
- Messaggi: 175
- Iscritto il: giovedì 22 marzo 2007, 1:00
Re: Sono evitabili gli "L'utente XXXX sta utilizzando questo
ah ecco! ora capisco! Io avevo provato a leggere l'errore dopo aver dato "salva record"!
Questo si che è interessante....
Mi trovo centinaia di campi modificati in ogni dove.... ogni volta aggiiungergli dietro un controllo mi pare un casino.
Pero' potrei magari fare uno script che prenda come argomenti il nome del campo e il valore da inserire e cicli finche' non ci riesce. E poi sostituire ad ogni "imposta campo" la chiamata a questo script con gli argomenti del caso. Sarebbe una faticaccia ma otterrei un risultato della stessa dimensione come codice e con un solo script piccolino in più, con la possibilità di modificare in futuro la gestione dell'errore in modo coerente per ogni campo che avevo modificato
Mi piace....
grazie!
Questo si che è interessante....
Mi trovo centinaia di campi modificati in ogni dove.... ogni volta aggiiungergli dietro un controllo mi pare un casino.
Pero' potrei magari fare uno script che prenda come argomenti il nome del campo e il valore da inserire e cicli finche' non ci riesce. E poi sostituire ad ogni "imposta campo" la chiamata a questo script con gli argomenti del caso. Sarebbe una faticaccia ma otterrei un risultato della stessa dimensione come codice e con un solo script piccolino in più, con la possibilità di modificare in futuro la gestione dell'errore in modo coerente per ogni campo che avevo modificato
Mi piace....
grazie!