Personalización de los Documentos Adjuntos (Attached Documents) en Microsoft Dynamics 365 Business Central (versión 26.6)

En muchas empresas, los documentos adjuntos en el ERP se han convertido en ese cajón digital donde todo se guarda… y casi nada se consulta con criterio. Facturas, contratos, albaranes, presupuestos o certificados quedan almacenados, sí, pero sin aportar contexto útil al usuario más allá de saber que “hay un archivo ahí”.

Sin embargo, en Microsoft Dynamics 365 Business Central, los documentos adjuntos no tienen por qué ser solo un repositorio pasivo. Con pequeñas personalizaciones es posible convertirlos en una fuente de información visual y práctica que, de un simple vistazo, ayude al usuario a entender qué tipo de archivo tiene delante, cuánto ocupa o incluso cuántas páginas contiene, mejorando así la experiencia y la eficiencia en el día a día. ¡Sigue leyendo y descubre esta funcionalidad!

Los documentos adjuntos en Business Central se pueden ver y gestionar desde casi todas las páginas que son de tipo List, Card o Documents.

Una mejora estándar que se puede ver en abril de 2025 era que ya se podían previsualizar los archivos que se adjuntaban desde el mismo cliente web sin recurrir a software externo ni tener que cambiar de pantalla desde la opción de Vista.

Ejemplos

Ahora vamos a ver unos ejemplos de cómo podemos personalizar y ampliar la información visualizada de los documentos que se adjuntan, desde el cliente web de Business Central.

El primer ejemplo que vamos a tratar es como se puede visualizar el tamaño del documento adjuntado. Obteniendo un resultado como este:

A partir de la versión Business Central 2024 wave 2, que corresponde a Business Central 25, existen 2 páginas desde donde se pueden gestionar estos archivos adjuntos.

Los archivos se guardarán usando el tipo Media, aunque realmente el contenido real del archivo se almacenará en un campo de tipo Blob (Content) de la tabla Tenant Media (2000000184).

¿Porqué usar tipo de datos Media?

Usar los tipos de datos Media o Mediaset ofrece un mejor rendimiento que usar un tipo de datos BLOB y ofrece mayor flexibilidad en su diseño. Con un tipo de datos BLOB, cada vez que se renderiza el contenido multimedia en el cliente, se recupera del servidor de base de datos SQL, lo que requiere ancho de banda adicional y afecta el rendimiento. Sin embargo, con los tipos de datos Media y MediaSet, el cliente utiliza el ID del contenido multimedia para almacenar en caché los datos multimedia, lo que a su vez mejora el tiempo de respuesta al renderizar el contenido multimedia en la interfaz de usuario.

Más información: https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-working-with-media-on-records?wt.mc_id=DX-MVP-5004336

A continuación, se agrega un campo nuevo extendiendo de la tabla 1173 (Document Attached) de tipo Texto:

Ahora, se añade el campo a las dos páginas descritas anteriormente para visualizar el dato.

Después, se crea una Codeunit y se incluye un procedimiento para que los datos se muestren con un formato mucho más “amigable” a cómo se ve normalmente, como por ejemplo, desde el explorador de archivos.

Ya solo quedaría incluir la llamada a este proceso y el guardado del dato a mostrar. En este caso, el tamaño del archivo adjuntado. Hay que aclarar, que este dato se guardará en el proceso de adjuntado del archivo y no vale para los que ya hubiera en la lista de archivos adjuntos.

En este caso, se incluirá en el trigger OnAfterGetRecord de las dos páginas donde se verán el datos del tamaño creado.

A continuación, se debe comprobar que el desarrollo funciona correctamente.

Después, se insertará un documento desde el FactBox que existe en la página de clientes, por ejemplo:

Seleccionamos un documento.

Y vemos, como al insertar el documento, también inserta su tamaño.

Con este proceso, vemos de una forma sencilla, que se puede ver y añadir el tamaño del archivo adjuntado.


Artículos recomendados:


Cómo visualizar las páginas del documento

El segundo ejemplo a tratar será el poder visualizar las páginas del documento adjuntado. Para ello, usaremos la Codeunit 3110 PDF Document.

codeunit-documentos-business-central

Esta Codeunit tiene algunos métodos interesantes y uno de estos métodos es el llamado GetPdfPageCount.

De igual forma que hemos hecho para el anterior ejemplo, hay que crear un nuevo campo en la tabla que extiende de Document Attachment.

Y lo añadimos a las page extensión creadas también para el ejemplo anterior.

Ahora, se procede al relleno del campo desde un evento al proceso estándar de Business Central. En este caso, usamos el evento de OnInsertAttachmentOnBeforeImportStream, especificando que para este ejemplo, cuente las páginas de los documentos PDF que se adjunten.

Con esto lo que se obtiene es que cada vez que se adjunte un archivo, ya sea desde la página FactBox (cuadro informativo) o desde la página de Datos adjuntos se calcule el número de páginas del documento y lo guarde un el campo Page Count. Demostración:

Se adjunta un documento de nuevo desde la página de Cliente:

seleccionar-archivo-business-central

Se añade el archivo FacVTA_TCR01040.pdf y, en consecuencia, se inserta el documento con el nuevo campo añadido de Page Count relleno a 1.

Ahora, podemos ver el archivo desde este mismo cuadro informativo y vemos que efectivamente tiene una página.

Y aquí vemos el documento.


¿Ya usas Business Central o quieres empezar a usarlo? ¡Rellena el formulario y nuestro equipo de expertos se pondrá en contacto contigo para empezar el proyecto!


Félix Sánchez
Operaciones Business Central


Nuestras últimas publicaciones:

Tuitear Compartir en Facebook Compartir en G+ Compartir en LinkedIn
Salir de la versión móvil