Veamos, tengo el comando de la imagen en un evento Alta Interno al Alta.
El primer mensaje me devuelve 0.
Grabo 1 (es un campo booleano).
El Segundo mensaje me devuelve 1
Pero luego en la BBDD se queda en 0.
En principio no tengo ningún otro lugar fuera de ese trigger que se toque ese campo, y de hecho, dentro del mismo trigger, hay otro sitio, pero lo tengo controlado con mensajes y no se llega a ejecutar.
Buenas tardes @Giuseppe, para poder modificar campos en los trigger tiene que se en el Anterior solamente.
Los demás eventos, se producen después de modificar la ficha
Anterior a un alta de ficha: El proceso es disparado antes de que la ficha sea guardada en disco.
Interno a un alta de ficha: El proceso es disparado después de que la ficha haya sido guardada en disco y antes de disparar las actualizaciones.
Posterior a un alta de ficha: El proceso es disparado después de que la ficha haya sido guardada en disco y después de disparar las actualizaciones.
Parece que dice bien claro que en el trigger interno “la ficha ya esta guardada”, o sea, que aunque modifiques campos no va a funcionar… Lo de tus mensajes es un espejismo, el campo parece que acepta el valor pero en realidad no guarda…
Solo puedes modificar campos en el trigger anterior…
Un par de detalles que no mencioné (el cansancio…) en su momento.
“Modificar campo” lo lanzaba en un evento interno, pero de otra tabla. Es decir, en un evento interno de una tabla, hacía un Moficar FIcha Maestro, y ahí dentro hacía el modificar de esa tabla. Es decir, en el alta de un documento, pretendo cambiar el valor de un maestro.
En resumidas cuentas. Cuando hago una factura con una condición de pago en esepcífico, necesito acceder a la ficha del cliente a modificarle un campo, y no se graba esta modificación, aunque vAdmin “si me dice” que se grabó, con espejismos o sin ellos