Hola otra vez!!
No os ha pasado alguna vez que estando en Dynamics NAV, queréis controlar una función, una ejecución o validación de algo y no podéis porque no os lo permite hacer? Lo que vamos a mostrar hoy es para versiones anteriores a 2016 ya que a partir de ahí implementaron las TryFunctions.
Pero hoy no os voy a explicar este método, si no uno mas antiguo que es la ejecución de codeunits con el Run y pasándolo por un IF para poder controlar el error.
Vamos manos a la obra y lo vemos!
Lo primero que haremos es crear una codeunit donde en el OnRun añadiremos el código que queremos validar y controlar el error.
En este caso voy a poner un código muy sencillo para que veáis un ejemplo y lo podáis entender:
Los primero que añadiremos es el “CLEARLASTERROR” para que vacíe cualquier posible error anterior.
Y después con una variable Global Booleana determinamos si queremos error o no.
Os preguntareis, ¿Y cómo rellenamos esa variable?
Pues bien, creamos una función para poder rellenarla:
Ahora para gestionar el error, crearemos una última función para extraer ese error:
Por último, ejecutaremos todo esto desde otra codeunit:
Esto nos devolverá un mensaje con el error, pero sin ningún bloqueo y así podremos controlar cuándo queremos que se muestre dicho mensaje de error, por ejemplo al final de un proceso muy largo como pueden ser las funciones de registro por lotes.
Como siempre este ejemplo entero lo tenéis colgado en GitHub en el link.
Esperamos que esta explicación os resulte de utilidad y os emplazamos a nuestra próxima publicación.