Modificar campo de maestro en evento de tabla Anterior a la baja


([N1] Giuseppe::Komenco) #1

Se puede modificar el campo de un maestro en un evento de tabla?
El evento de la captura no me está funcionando, y siempre me dice al eliminar que existen históricos. He probado no poniendo nada en la modificación del campo, poniendo 0, pero nada, lo deja tal cual.

[attachment=21139,1669]


([N4] eic) #2

Hola.

Imagino que esos plurales se relacionan con la propia tabla mediante un campo. Si borras el maestro, y existen plurales, te dará error siempre. Por eso, lo que quizá tendrías que hacer es Cargar plurales y eliminarlos, o bien quitar la relación con el maestro (escribiendo en el campo que apunta al maestro un 0, teniendo en cuenta que eso podría generar actualizaciones).

Saludos,

Fran Varona


([N1] Giuseppe::Komenco) #3

Hola Fran,
.
Y yo te prometo que he probado dejando el "modifcar campo" con la fórmula vacía, cno las comillas como en la captura, poniendo un cero, y nada, no me dejaba. Ahora, acabo de probar de nuevo con el cero, et voilá.
.
En fin, deben ser ya demasiadas horas seguidas, que no son buenas ni para mi, ni para el vServer.
.
Gracias por tu tiempo.


([N1] Pepeto) #4

@Giussepe

Como te indica Fran, el campo #FACTURADO es un campo enlazado a una tabla maestra, y vuelves a cometer el mismo error que con la funcion isEmpty(). Intentas modificar un campo numérico con un valor nulo, y para un campo numérico , el valor nulo es "0".

#CAMPO="" es valido para campos texto, campos fecha y hora.

un saludo
José Luis


([N4] eic) #5

Hola.

Si el campo FACTURADO es un enlace a maestro, y existen actualizaciones desde la tabla histórica a la maestra, cuando lo modifiques se van a lanzar las actualizaciones y, por tanto, otros eventos de la tabla maestra, estando dentro de otro evento de tabla... y eso da problemas. Si tienes actualizaciones, es posible que debas hacer esa modificación no en el evento, sino en el lugar en que borres el registro.

Saludos,

Fran Varona


([N1] Pepeto) #6

@Fran

En la captura del proceso, aparece: Cargar plurales DOCS_ALMACEN_FACTURADO , y por deducción lógica según la nomenclatura de plurales, considero que FACTURADO es la tabla maestra y DOCS_ALMACEN la tabla plural. Pero si no es asi, corrigeme.

un saludo
José Luis
http://www.ascsl.com


([N1] Giuseppe::Komenco) #7

DOCS_ALMACEN_FACTURADO es un enlace a la misma tabla.

Es el campo que uso para marcar ese documento como facturado con el número de documento, no tiene ninguna actualización.

Saludos.


([N4] eic) #8

@Giuseppe

Disculpa, pero puede que esté yo un poco espeso.

Aunque el enlace sea hacia la misma tabla, es un enlace plural igual que si fuera entre dos tablas. Pongamos CAB y LIN, para aclararnos.

Si quieres borrar un registro de CAB, tendrás que eliminar el enlace que hay con sus LIN. Para eso, cargas plurales y, en cada línea, borras el campo de LIN que enlaza con CAB (lo pones a cero), para que dejen de ser registros históricos de CAB y, entonces, puedas borrar el registro de CAB.

¿Es Facturado el campo que enlaza con el maestro, o es un simple campo que tú marcas para saber los que están enlazados? El que tienes que poner a cero es el campo que enlaza con el maestro, aunque sea un maestro de la misma tabla.

Y disculpa si lo he entendido mal.

Saludos (y Feliz Año!),

Fran Varona


([N1] Giuseppe::Komenco) #9

Me explico.
DOCS_ALM es la tabla que uso para albaranes, facturas, etc..
Si el documento, es un albarán, en FACTURADO, pongo el ID de la factura generada. Mi intención, es, que si borro la factura, desenlace (poner facturado a 0) el albarán ya que la factura ya no existe. Y juraría que probé poniendo a 0, pero se vé que no lo llegué a probar o algo, y claro, no me dejaba eliminar la factura por estar "enganchada". Pero está ya resuelto poniendo el valor a 0 como bien apuntaste en tu primer comentario.

Un saludo, y gracias,