Sono evitabili gli "L'utente XXXX sta utilizzando questo rec

Installazione di FM Server, caratteristiche di un archivio in multiutenza

Moderatore: Moderatori

Rispondi
blueyescuneo
Messaggi: 175
Iscritto il: giovedì 22 marzo 2007, 1:00

Sono evitabili gli "L'utente XXXX sta utilizzando questo rec

Messaggio da blueyescuneo » giovedì 17 marzo 2011, 11:44

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

stregatto
Messaggi: 9700
Iscritto il: lunedì 1 dicembre 2003, 1:00
Località: Roma
Contatta:

Re: Sono evitabili gli "L'utente XXXX sta utilizzando questo

Messaggio da stregatto » giovedì 17 marzo 2011, 12:28

imposti la cattura errori. e usi un get(ultimoerrore) per ciascun record vedere se il record è occupato o meno.

.g.

blueyescuneo
Messaggi: 175
Iscritto il: giovedì 22 marzo 2007, 1:00

Re: Sono evitabili gli "L'utente XXXX sta utilizzando questo

Messaggio da blueyescuneo » giovedì 17 marzo 2011, 12:35

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)

stregatto
Messaggi: 9700
Iscritto il: lunedì 1 dicembre 2003, 1:00
Località: Roma
Contatta:

Re: Sono evitabili gli "L'utente XXXX sta utilizzando questo

Messaggio da stregatto » giovedì 17 marzo 2011, 13:16

Ogni volta che compilo un campo
diciamo ogni volta che intervieni su un record (ovvero compili il primo campo del record)

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.

blueyescuneo
Messaggi: 175
Iscritto il: giovedì 22 marzo 2007, 1:00

Re: Sono evitabili gli "L'utente XXXX sta utilizzando questo

Messaggio da blueyescuneo » giovedì 17 marzo 2011, 14:06

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!

Rispondi