Lo que hay
que
tener en cuenta al trabajar en multipuesto
Cuando se guarda una fórmula valorada en el
recetario, suceden muchos más procesos de los que el usuario se
pueda imaginar.
Si dos usuarios están guardando a la vez una fórmula
valorada en el recetario, el usuario que empezó a guardarla antes,
activa una protección que evita que el otro usuario pueda guardar la
suya en el mismo instante. Esta protección dura décimas de segundo
(dependiendo de la velocidad del ordenador y de la velocidad de la
red), pero es importante que esa protección esté porque por ejemplo
ambos usuarios podrían haber cogido el mismo número de recetario
para guardar su fórmula o cosas peores...
Al usuario que empezó a guardar su apunte décimas de
segundo más tarde le aparece un mensaje: "No se puede guardar,
fichero en uso por otro puesto. Vuelva a intentarlo" y si pulsa el
botón reintentar se guarda la fórmula en el recetario sin problemas.
De esa forma el problema en este caso está solucionado.
El usuario 1 no verá el apunte guardado por el usuario 2 y
viceversa. Para poder verlos, ambos deberán pulsar el pequeño botón
que hay en la esquina superior izquierda de la lista de apuntes para
así volver a cargar todo el recetario.
Hay situaciones más complicadas, por ejemplo, dos
usuarios diferentes están haciendo modificaciones en la misma
fórmula o en el mismo apunte del recetario o en el mismo producto etc. En este caso no
aparece ningún mensaje y los dos pueden modificar sin problemas el
mismo registro, pero ninguno de los dos verá lo que está haciendo el
otro ya que la ficha de la fórmula, o el apunte del recetario o la ficha de
un producto se carga cuando se sitúa el
cursor en uno de los elementos de la lista.
Si dos usuarios hacen cambios en dos fórmulas
diferentes o en dos apuntes diferentes del recetario no hay ningún
problema porque ambos verán los cambios que ha hecho el otro cuando
seleccionen esa fórmula o ese apunte en la lista que ha modificado el
otro usuario, aquí el problema solo sucede cuando hacen la modificación
a la vez y en el mismo apunte, simplemente el último cambio es
el que permanecerá.
Hay una situación todavía más complicada que la
anterior:
Por ejemplo un usuario elimina un apunte del
recetario mientras otro usuario está haciendo algo con ese apunte.
El primer usuario verá que el apunte desaparece de su
lista, mientras que el segundo seguirá modificando los datos del
apunte sin enterarse de que el primero lo eliminó. La única forma de
que el segundo usuario vea que ese apunte ya no existe, es pulsando
el pequeño botón que hay justo en la esquina superior izquierda de
la lista de apuntes. Ese botón refresca la lista de apuntes, lo que
hace es volver a cargar todo el recetario (o todas las fórmulas,
todos los pacientes, todos los productos, etc.)
Para evitar esto, cuando un usuario elimine algo
(fórmula, apunte del recetario, producto, paciente etc.) deberá
avisar al resto para que actualicen la lista correspondiente, para
ello han de pulsar el botón que vuelve a cargar la lista.

La situación peor se podría dar cuando por ejemplo,
trabajando ambos usuarios sobre un mismo apunte del recetario, uno
de ellos elimina el apunte e inmediatamente guarda otra fórmula en
el recetario. El segundo usuario estaría cambiando los datos del
nuevo apunte que acaba de guardar el primer usuario sin enterarse de
que ese apunte es nuevo y lo que estaría haciendo en realidad es
cambiar los datos del apunte que el usuario 1 acaba de guardar. Esto es así por lo siguiente:
MagisFor no desperdicia nunca ningún registro de
cualquiera de los ficheros. Cuando un usuario elimina un apunte, se
ponen todos sus campos en blanco y se pone un 1 en un campo de un
bit denominado campo NULO. Cuando quien sea vuelve a guardar una
fórmula valorada en el recetario, MagisFor lo primero que hace es
buscar por todo el fichero para ver si hay algún registro cuyo campo
NULO tenga un 1 y si lo encuentra, lo utiliza para guardar ahí la
fórmula recién valorada, por eso el segundo usuario si no ha
refrescado su lista de apuntes no se dará cuenta de que su apunte
pertenece a otro paciente, con otra fórmula y otros datos, estará
aún viendo el apunte que el primer usuario eliminó y si el cursor se
encuentra encima de un campo, al salir de ese campo se guardarán
todos los campos que está viendo el segundo usuario que son en
realidad los campos del apunte que eliminó el primer usuario. Es por eso que
es muy importante cuando alguien elimina algo que avise a los demás
para que no estén editando nada en el apunte que se va a eliminar y
una vez eliminado que refresquen la lista correspondiente.
Este pequeño botón de color gris que hay en
todas las listas (Fórmulas, Recetario, Productos etc...) se encarga
de refrescar la lista (volver a cargar toda la lista), de
esta forma si el primer usuario ha eliminado un apunte, cuando el 2º
usuario pulse ese botón, ya no verá el apunte eliminado por el
primer usuario. Ese botón tiene color gris cuando se está viendo
toda la lista y se pone de color rojo cuando hay un filtro y solo se
está viendo parte de la lista.

Como conclusión, hay que tener precaución y avisar al
resto de usuarios cuando se vaya a eliminar algo, ya sea una fórmula, un
apunte del recetario, un producto, un paciente etc. Todos los
usuarios que están trabajando con MagisFor en ese momento deben
comprobar que no están encima del apunte que se va a eliminar y
luego deben refrescar la
lista correspondiente para que el apunte eliminado no aparezca. En cualquier otro caso no hay problema grave.
|