Error Stack

GETLASTERRORTEXT es una función que permite capturar el último error que se ha dado en la ejecución de un proceso. A priori, no parece algo muy útil, pero cuando pensamos en la ejecución condicional de codeunits, esta función cobra sentido.

A partir de ahí se me ocurrió una idea: ¿Y si utilizo esta función para capturar los posibles errores que pudiera tener en la ejecución de un proceso? ¿Podría diseñar una herramienta capaz de indicarle las acciones o campos que quiero validar y que me devuelva la lista de resultados que obtengo?

Para llegar a tener esta herramienta, pensé en que funciones debían de ser importantes:

  • Primero, necesitaría una función para indicarle el registro que quiero validar, el campo y el valor que quiero informar.
  • Segundo, seria necesario una función para lanzar la validación del propio campo, con los valores aportados anteriormente. El éxito o error de la validación del campo, se tendría que guardar en una pila o stack con el resultado de la ejecución.
  • Tercero A, disponer de una función para mostrar la lista de errores encontrados hasta el momento.
  • Tercero B, si no deseo mostrar la lista de errores, tener la posibilidad de recoger los resultados para tratarlos posteriormente.
  • Cuarto, disponer de una función para decidir manualmente cuando quiero limpiar la pila de errores.

Las utilidades de una herramienta como esta pueden ser varias como por ejemplo la importación masiva de datos, registro masivo de documentos, etc. Es cierto que sólo está pensado para validar campos, pero yo puedo perfectamente crear un campo booleano que al validarse, lance un pedido, por ejemplo.

Os dejo la herramienta para que la utilicéis a vuestro antojo. Espero en breve poder añadir uno o varios ejemplos de como utilizarla:

Sergisoft Error Stack v1