vClient se queda colgado al modificar una ficha dentro en sí misma


([N2] overall) #1

Buenos días,

Tengo una tabla Entradas (maestra), de ella cuelga una tabla sub-maestra llamada "Etiquetas entradas", que a su vez ésta última apunta a una tabla llamada Etiquetas (maestra). Pues bien, cuando entro en una ficha de Entradas y añado unos cuantos registros en la tabla Etiquetas entradas (sub-maestro), en ese momento recorro dicha tabla para poder recoger los nombre de cada uno de los registros y así poder modificar el campo Etiquetas de la ficha Entradas que estoy editando. Es aquí cuando se me queda colgado. Ya se que tengo la ficha en edición, pero éste campo no lo he modificado en ningún otro momento. No trabaja en modo transaccional a nivel de campo?

Saludos

Overall

 





([N4] rcueto.velneo) #2

Hola:

Una pregunta, ¿Desde dónde estás lanzando ese formulario de Entradas?

Un saludo.





([N2] overall) #3

Hola rcueto,

El formulario inicial es lazado desde un evento de formulario (Cargar lista--> modificar ficha con formulario).

Saludos

Overall


([N4] rcueto.velneo) #4

Hola:

Has de tener en cuenta que el bloqueo blando es a nivel de formulario, no a nivel de proceso, en un proceso, cuando bloqueas una ficha la bloqueas por completo.

Un saludo.


([N2] overall) #5

Hola rcueto, entonces entiendo que el nivel blando solo lo tenemos cuando modificamos la ficha mediante "Modificar ficha" desde la rejilla. Es así?

Saludos

Overall 


([N4] fgutierrez.velneo) #6

El bloqueo blando únicamente está disponible en formulario, en modificación directa de registro, tal y como indica rcueto.

Cuando desde un proceso o evento accedemos en modificación a un registro, bloqueamos el registro completo.

Si hemos abierto un formulario, desde una rejilla o un casillero, con el que editamos el registro, éste tiene la funcionalidad de bloqueo blando. Esto permite a otro usuario acceder a ese mismo registro, haciendo también uso de formulario, para realizar modificaciones en campos que el otro usuario no haya modificado. Incluso, serán actualizadas en tiempo real las modificaciones del otro usuario.

Sin embargo, cuando accedemos a un registro con alguno de los comandos que permiten modificar una ficha: Modificar ficha, modificar ficha con formulario, recorrer lista lectura/escritura, etc., estamos bloqueando la ficha para uso único y exclusivo del proceso. Otros usuarios únicamente podrán acceder a ese registro para lectura.

Un saludo.


([N2] overall) #7

Muchas gracias por la aclaración fgutierrez.

Saludos

Overall


([N4] rcueto.velneo) #8

Hola:

Me gustaría añadir una nota a las respuestas anteriores y es que cuando sucede el bloqueo no se cuelga Velneo vClient V7; sino que el sistema, al intentar bloquear la ficha y no poder hacerlo por estar ya boqueada, tiene un timeout en el que realiza una serie de intentos de bloqueo de la misma, transcurrido el cual devolverá el control de la ejecución a Velneo vClient V7.

Un saludo.

 


([N2] overall) #9

Cierto es, si esperas un rato puedes seguir trabajando.

Saludos

Overall


([N1] Roberto Valdés) #10

Y no sería interesante una menor duración del timeout y lanzar un aviso de que la ficha estábloqueda por otro usuario y su nombre?


([N4] fgutierrez.velneo) #11

Si es el usuario el que intenta modificar el registro bloqueado por un proceso, entonces sí se le avisará.

El bloqueo y el intento de acceso mediante proceso es el que es gestionado mediante reintentos y time out.

Lo normal es que no se dé el bloqueo, que lo evitemos en programación. Aún así el sistema lo intenta para no finalizar los procesos sin haber realizado la tarea. Además, tienes manera de saber si un proceso se ha lanzado o ha devuelto un error, por lo que puedes programar los mensajes que veas necesarios mostrar.

 

Un saludo.