Entradas

Como muchos sabréis AX cuenta con unas funcionalidades específicas para exportar ficheros bancarios. La mayoría de estos ficheros se generaban mediante clases convencionales de AX como estas:

Las cuales se podían debuguear y modificar con relativa facilidad, pero con la entrada en vigor de los formatos SEPA, se implementaron dos nuevos tipos de ficheros para clientes y proveedores

Estos ficheros, presentan un funcionamiento, completamente distinto, ya que si bien es cierto que siguen manteniendo una parte de su lógica en AX (mediante clases convencionales) la creación del fichero XML propiamente dicha, se hace mediante el uso de un puerto de salida AIF que a su vez está configurado por un fichero de script, que es el que genera toda la estructura del fichero.
A continuación, vamos a describir de forma somera como funciona esto, de forma que podamos corregir errores y hacer pequeñas modificaciones en el fichero. Para ello deberemos seguir los siguientes pasos.

Acceso a la definición del fichero:

1. Acceso a los puestos de salida:

Tal y como comentábamos, la generación de los ficheros se hace mediante unos servicios de salida (outbounds port) los cuales podemos localizar en el siguiente menú:

Aquí encontraremos varios puertos entre ellos los relativos a los dos tipos de ficheros SEPA

2. Acceso y edición de los procesos de generación:

El formato del fichero viene definido en los proceso de salida, al cual podemos acceder a través del botón “Procesos de salida”. Una vez pulsamos el botón accedemos al proceso de transformación que debería llamarse AifXMLTransform (aunque dicho nombre puede variar)

3. Acceso a la selección de definición del fichero de salida:

Una vez llegado aquí, podremos acceder a los diferentes esquemas que definen el fichero a generar. Para ello pulsaremos el botón “Configurar” lo cual nos permitirá acceder al propio fichero XSLT que es por así decirlo “el código fuente” de este fichero

Esto es especialmente interesante, ya que esto implica que podemos tener varios esquemas almacenados configurando el que nos interese en un momento dado, así como tenemos la posibilidad de guardar distintas versiones, como si versiones del código se trataran.

4. Consulta y modificación del esquema:

Si seleccionamos el esquema y usamos la funcionalidad “Ver registro” accederemos al formulario de esquemas y desde aquí podremos crear, importar y editar esquemas.

Si pulsamos el botón “Ver” podremos acceder al contenido del esquema con todas las reglas que se usan para construir el fichero

Obviamente, desde aquí no podremos editarlo, pero tendremos la posibilidad de exportarlo, modificarlo en el bloc de notas o cualquier otro editor, e importarlo de nuevo sobrescribiendo el esquema antiguo o creando otro nuevo

Edición del fichero:

Hasta ahora hemos visto como acceder a la definición del fichero, exportarla e importarla, pero como podemos modificarlo. Vamos a dejar las modificaciones complejas y explicar cómo interpretar el fichero, comprobar errores y hacer modificaciones sencillas, para ello, primero es necesario conocer como está estructurado el fichero.

En primer lugar, el fichero funciona como cualquier otro programa mediante manipulación de variables, métodos del propio fichero y consulta sobre los datos de AX:

Variables: en el propio fichero se declaran ciertas variables que luego pueden ser utilizadas en diferentes partes del fichero por ejemplo

Estas variables pueden ser manipuladas en cualquier parte, mediante sentencias condicionales o mediante consultas de datos.

Métodos: En la parte final del fichero, tenemos los métodos del fichero, al igual que en AX, se trata de pequeñas subrutinas que pueden ser invocadas a lo largo de todo el fichero, recibiendo y devolviendo parámetros

Estos métodos, pueden ser modificados y tiene su propia gestión de errores, por lo que puede ser que excepciones que nos devuelva AX vengan de errores en estos métodos. Como aquí no contamos con un compilador, solo veremos los errores en tiempo de ejecución, así que debemos modificarlos con prudencia.

Acceso a datos: Como es lógico, el fichero deberá construirse a partir de datos de AX, estos datos se obtienen mediante sentencias como esta

En esta fragmento, estaríamos declarando la variable ”FileName” y asignándole un valor, para ello el fichero se alimenta de la query “VendPayments”, concretamente este campo (En la instrucción se van indicando los sucesivos niveles de la query y por último el campo)

Por tanto podríamos añadir o modificar un valor del fichero, añadiéndolo sencillamente a esta query e implementando el código necesario para leerlo y volcarlo en una variable.

Como conclusión con esta serie de pistas, deberíamos ser capaces de hacer modificaciones sencillas en el fichero SEPA sin necesidad de tocar el código de AX, para modificaciones más complejas deberíamos editar más a fondo el fichero de script cosa que podría explicarse en otro artículo.