En la versión 2016 de Navision se ha añadido una funcionalidad nueva para capturar eventos de tablas desde objetos tipo Codeunit al dispararse los diferentes triggers(INSERT, MODIFY, RENAME, VALIDATE). Con esto se consigue que el código estandar no tenga que ser modificado teniendo la posibildad de sacar nuestras modificaciones de codigo a una codeunit y ejecutar este codigo antes o despues de el que ya existe en el trigger de la tabla o del campo de la tabla que lanza el evento.
Ejemplos:
1 Llamar a una función cuando se ejecute una acción en la tabla Item
1-1 En una Codeunit nos creamos una función “DespuesModifyItem"
1-4 Ahora es cuando le decimos cuando queremos que llame a esta función, lo haremos en el campo “EventFunction”. Aquí nos propondra varias opciones:
SI por ejemplo queremos que despues de modificar un registro llame a esta función seleccionaremos “OnAfterModifyEvent”
Si lo que queremos en, llamar a esta función cuando se valide un campo, seleccionaremos la opción de:
ó
En este caso, nos aparecerá un nuevo campo en el que le tendremos que indicar sobre que campo, queremos que actue, es decir, cuando se ejecute el validate de que campo, queremos que llame Navision a esta función. Pro ejemplo : “No.”
Por ejemplo cuando se lance el OnModify queremos que se controle la descripción, que no esté vacia hariamos los siguiente. Una función con las propiedades:
Funcion "DespuesModifyItem"