Error en Modif. Ficha Maestro


([N2] ramiro) #1

Buenos dias:

 

A esta beta 7.1 (perdón!) creo que le falta un hervor...

 

Me está pasando lo siguiente: En un Evento de tabla Post-Modif (pongamos que esté en el #ID 100) intento modificar una ficha de Maestro de la propia tabla (supongamos que el maestro sea #ID 200). Lo hago con la instrucción "Modificar Ficha de Maestro" y si pongo un mensaje en la primera instrucción de esa rama, aparentemente estoy en la ficha correcta (200). Puesto que estoy "Modificando Ficha de Maestro" deberían conservarse las modificaciones realizadas con "Modificar Campo", pero no es así. Si antes o después de la instrucción "Modificar Campo" pongo un mensaje que me indique la ficha en la que se está realizando la modificación, me dice que en la Ficha (#ID) 100, no sobre la 200 (obviamente, he repasado todas las líneas del proceso...). La ficha 100 está en Post-Modif y evidententemente ahí no se puede grabar, pero me había desplazado a la ficha 200 y el mensaje anterior me indicaba que el desplazamiento se había realizado (?)

 

En la aplicación en que trabajo buena parte de la lógica se basa en Procesos de Tabla y en ese contexto en V70 no funcionaba Cargar Plurales (no lo he comprobado en V71), en V71 siguen sin funcionar las funciones de API (Número de Campos, Modificar Campos por Número...) y me da la impresión de que ni siquiera se posiciones bien Modificar Ficha de Maestro.

 

Tampoco funciona, creo, la impresión desde proceso (eso, por si solo, invalida una versión para cualquier tarea que no sea estudiar) y, por si fuera poco, los mensajes de vAdmin salen desordenados dificultando mucho o impidiendo el análisis de cualquier problema.

 

En este contexto creo que entre Junio y Octubre debería salir alguna versión intermedia que corrija los errores más gordos. De momento yo me voy a rendir y, si no hay solución anterior, esperaré hasta Octubre, o mejor hasta Febrero...

 

Saludos. Ramiro


([N4] velavisual) #2

@Ramiro

 

El asunto de los refrescos es lo qe creo que está presente en cualquier proceso, instrucción que estemos usando.

 

Creo que debes leer el manual de - uso avanzado de procesos -, a lo mejor estamoa haciendo algo mal en 7.x con las intrucciones de ficha o lista en los procesos. No sé, es por decir algo.

 

 

 


([N4] rcueto.velneo) #3

Hola, Ramiro:

Hemos hecho una prueba siguiendo tus indicaciones -> En una tabla que tenía declarado un enlace consigo misma hemos creado un evento posterior a la modificación como el que sigue:

Modificar ficha de maestro -> (campo enlazado a sí misma)

….Modificar campo -> xxxx, “dato”

Al modificar una ficha hemos comprobado que se modifica el campo del registro maestro, por lo que te sugerimos que compruebes si en algún momento se colisiona con otro proceso o evento (anterior a la modificación, por ejemplo).

En lo que respecta a tus dudas sobre si el comando de instrucción de proceso “Imprimir informe” es o no funcional en la versión 7.1, remitirte a la respuesta que te dimos al hilo que abriste al respecto el pasado viernes: http://velneo.es/foros/topic/%C2%BFfunciona-la-impresion-en-v71.

Sobre el tema de cargar plurales en triggers, (incidencia nº 1498 ), según se indica en nuestro sistema de gestión de incidencias ha sido resuelto en la versión 7.1.

Muchas gracias y un saludo.

 

 

 


([N2] ramiro) #4

Gracias, Rafael, por tu respuesta.

 

A pesar de que no hayas conseguido reproducirlo, creo haber comprobado con todo cuidado lo que decía en mi correo. El contexto real, como pasa casi siempre que se envía algo a soporte, es algo más complejo de lo que se puede explicar en un correo, pero el problema creo que existe. No obstante, volveré a comprobar detenidamente el asunto en orden a identificar más detalles del supuesto problema (me refiero a que al modificar ficha de maestro se esté trabajando realmente en el registro llamador y no en el llamado), si es que existe.

 

Informaré detalladamente cuando haga las preubas.

 

Saludos. Ramiro





([N2] ramiro) #5

Buenas:

 

Desde un evento de Tabla Post-Modif. ejecuto un proceso que pretende SINCRONIZAR ciertos datos entre la Ficha desde la que lanza el proceso y otra ficha asociada (mediante puntero a maestro) de la misma Tabla. El proceos Post-Modif. no se lanza desde la segunda ficha porque existen condiciones que las diferencian y que lo impiden.

 

En la imagen 1 se ve un fragmento del proceso lanzado, cuyas tareas se pueden resumir en:

a) Indicar desde que ficha se lanza el proceso

b) Ejecutar el comando Modificar Ficha de Maestro

c) Indicar el código de la Ficha del Maestro que vamos a modificar

d) Modificar datos en bucle (la función de API no va) e mostrar para 10 campos información del trabajo a realizar

e) Modificar un campo a capón e informar del trabajo a realizar.

 

Al ejecutarse el proceso desde la Ficha con ID=61, cuyo Maestro es la Ficha ID=2441, los mensajes en el Servidor son los de la imagen 2. No es fácil seguirle la pista a los mensajes, pero (refiriéndome a los apartados anteriores) se encuentra que:

 

a) El texto está en la Línea 9 del Log. Indica que estamos en ID=61 y el Maestro es ID=2441 (correcto)

c) El mensaje de este punto está en la línea 7 (muestra valores correctos)

d) Los textos están desperdigados por el Log, pero se encuentran. Aunque deberíamos estar posicionados en la Ficha 2441, indica que las modificaciones se realizan en la Ficha 61 (aquella de la que veníamos). Esto es desconcertante...

e) El texto de la modificación está en la Línea 6 empezando por abajo. Indica que está posicionado en la ficha 61, cuando debería estar en la ficha 2441 (mismo problema del punto anterior)

 

El código está repasadísimo y todos los orígenes de las líneas son correctos. O bien el mensaje es erróneo o bien es erroneo el desplazamiento al registro del Maestro. En cualquier caso lo cierto es que la última modificación no se consolida en disco, pero la interpretación del motivo no es fácil.

 

Esta prueba, preparada a propósito para poder sintetizarlo en dos imágenes, reproduce el problema que planteaba esta mañana. Solo se que no se nada... de lo que pasa.

 

Saludos. Ramiro

 

 

[attachment=4320,455] [attachment=4320,456]


([N4] rcueto.velneo) #6

Hola, Ramiro:

Antes de nada agradecerte las pruebas que estás haciendo.

Hemos hecho lo siguiente:

Hemos creado un proceso en el proyecto de datos cuyo origen es una ficha de la tabla que tiene declarado el trigger. En dicho proceso usamos el comando “modificar ficha de maestro” y en el subproceso un “modificar campo”; mensajeamos el valor del ID en el subproceso del modificar campo, antes y después de modificarlo. Al ejecutar el proyecto y modificar una ficha comprobamos que se realiza la modificación de la ficha del maestro y que los mensajes emitidos en el servidor presentan el ID del registro enlazado.

Con el fin de intentar conocer la causa de porqué en tu proyecto sucede el error, te agradeceríamos que nos indicases cómo has definido el origen del proceso y qué opciones has usado en el trigger, en el comando “Ejecutar proceso”, para lanzarlo.

Muchas gracias de nuevo por tu colaboración.

Un saludo.