En versiones anteriores de ax, cuando ejecutábamos procesos por lotes que generaban archivos, podíamos configurarlo para que estos se guardaran en un directorio local.

En F&O no podemos hacerlo, pero tenemos un par de alternativas para conseguirlo. Una opción sería guardándolo en una ruta de SharePoint configurada previamente, y otra, la que voy a explicar a continuación, guardándolo como un documento adjunto.

Este desarrollo consiste en crear una tabla de histórico de ejecuciones relacionada con el proceso por lotes, e ir incluyendo el archivo generado, en este caso un excel, como un documento adjunto a ese registro.

En nuestra tabla de crearemos los campos que queramos, en este caso, la fecha de ejecución, el usuario que lo ejecuta, y el rango de fechas en el que se ha ejecutado el proceso por lotes. Necesitaremos también su correspondiente formulario. 

D365FO: Crear archivos adjuntos desde procesos por lotes Axazure

En el proceso por lotes utilizaremos la clase JAExcelHelper para crear el excel que añadiremos como dato adjunto.

• En primer lugar, inicializaremos la clase, y añadiremos el nombre del fichero y de la pestaña de nuestro excel

D365FO: Crear archivos adjuntos desde procesos por lotes Axazure

• En segundo lugar, inicializaremos la cabecera de nuestras columnas del excel

D365FO: Crear archivos adjuntos desde procesos por lotes Axazure

• En tercer lugar, rellenaremos la información de nuestra excel.

D365FO: Crear archivos adjuntos desde procesos por lotes Axazure

• Por último, crearemos nuestro registro en el histórico, y adjuntaremos el excel como documento adjunto.

– Crearemos nuestro registro

D365FO: Crear archivos adjuntos desde procesos por lotes Axazure

– Guardaremos el excel creado en un objeto MemoryStream que lo necesitaremos después. Para ello será necesario crear un método que nos devuelva el memoryStream del fichero

D365FO: Crear archivos adjuntos desde procesos por lotes Axazure

– Y lo adjuntaremos

D365FO: Crear archivos adjuntos desde procesos por lotes Axazure

De esta forma, cuando ejecutemos nuestro proceso, creará el registro en la tabla que hemos creado.

D365FO: Crear archivos adjuntos desde procesos por lotes Axazure

Y adjuntará el excel que hemos generado en nuestro proceso como documento adjunto.

D365FO: Crear archivos adjuntos desde procesos por lotes Axazure

De esta forma, conseguimos tener un histórico de ejecuciones bien organizado y accesible, y además, con el excel adjunto directamente al registro. Todo dentro del propio sistema, sin complicaciones.

Es una solución sencilla, práctica y que se puede adaptar fácilmente a otros procesos o tipos de archivos. Y lo mejor: sin depender de rutas externas ni configuraciones complicadas.

About the Author: Uxue Otaegui Zaragüeta

D365FO: Crear archivos adjuntos desde procesos por lotes Axazure
Senior Technical Consultan

¿Quieres compartir?