• Este debate tiene 2 respuestas, 2 mensajes y ha sido actualizado por última vez el hace 1 año, 8 meses por AvatarJavier Téllez Martín.
Viendo 3 entradas - de la 1 a la 3 (de un total de 3)

Respuestas del foro


  • Javier Téllez Martín

    Muy buenas,

    Perdonad que os moleste de nuevo pero tengo una duda acerca de un código que NO quiero que se ejecute y tengo que hacerlo por eventos.

    Necesito que no se ejecute el mensaje «La fecha pedido es anterior a la fecha de trabajo» de la tabla 39 que se encuentra en el OnValidate del campo «Order Date»:

    IF (CurrFieldNo <> 0) AND
    («Document Type» = «Document Type»::Order) AND
    («Order Date» < WORKDATE) AND
    («Order Date» <> 0D)
    THEN
    MESSAGE(
    Text018,
    FIELDCAPTION(«Order Date»),»Order Date»,WORKDATE);

    La manera más fácil es poniendo un par de llaves, comento el código y no se ejecuta pero para hacerlo por eventos, no se me ocurre como hacerlo.

    ¿Podríais ayudarme?

    Muchas gracias,

    Javier

    #6240
    Avatar
    Laura Nicolàs
    Superadministrador
    Laura Nicolàs

    Hola Javier,

    Lo que quieres hacer no es posible. No hay forma de reemplazar código del estándar. Solo podemos añadir código antes y/o después.

    Quiero pensar que en el futuro tendremos la opción de decir que cierta función o cierto trigger del estandar no se ejecute, y que se use únicamente lo que haya en los eventos. (En GitHub hay una petición sobre este tema, vale la pena suscribirse y seguirla).

    Mientras tanto lo único que puedes hacer es «trampear» el sistema. Por ejemplo:
    – Te suscribes al evento OnBefore.
    – Cambias el valor de «Document type», «Order Date», o WORKDATE, de forma que el IF devuelva FALSE y no muestre el mesaje.
    – Te suscribes al evento OnAfter y vuelves a poner el valor original del campo que hayas cambiado.

    Yo solo haría este tipo de «trampas» en caso de mucha necesidad. Si quieres escribir una extensión seria, es mejor no incluir esta feature, y dejarlo para más adelante cuando la tecnología permita hacerlo de forma elegante/controlada.

    Salut!
    Laura Nicolàs

    #6241
    Javier Téllez Martín

    Buenas tardes Laura,

    Te agradezco tu rápida respuesta.

    Me suscribiré entonces a GitHub.

    Gracias por todo!!!

    Javier

    #6242
Viendo 3 entradas - de la 1 a la 3 (de un total de 3)

Debe iniciar sesión para responder a este tema.