Añadir un diseño de Excel a un informe
Cuando crea un nuevo informe, hay dos tareas principales que hay que tener en cuenta. En primer lugar, defina el conjunto de datos de un informe de elementos de datos y columnas. A continuación, perfile el diseño del informe.
Con el diseño de informe de Excel, puede crear un informe básico que imprima un conjunto de datos y dejar que el usuario final lo modifique. Pueden utilizar toda la gama de funciones de Excel, como controles deslizantes, diagramas, gráficos, tablas dinámicas y Power Query, para diseñar el informe.
Esto ofrece flexibilidad y libertad al usuario final, ya que puede cambiar el aspecto de un informe, agregar más vistas, filtrar y ordenar los datos. Dicho diseño creado por el usuario final se puede importar y utilizar como un nuevo diseño. La siguiente información le mostrará cómo crear un informe básico basado en un diseño de Excel.
Echemos un vistazo al siguiente informe:
report 50101 ExampleEXCELLayout
{
Caption = 'ExampleEXCELLayout';
UsageCategory = ReportsAndAnalysis;
ApplicationArea = All;
DefaultRenderingLayout = ExampleEXCELLayout;
dataset
{
dataitem(Customer; Customer)
{
column(CustomerNo; "No.") { }
column(CustomerName; Name) { }
column(City; City) { }
column(BalanceLCY; "Balance (LCY)") { }
}
}
rendering
{
layout(ExampleEXCELLayout)
{
Type = Excel;
LayoutFile = './src/Reports/EXCEL/ExampleEXCELLayout.xlsx';
Caption = 'ExampleEXCELLayout';
Summary = 'An example of an EXCEL Layout.';
}
}
}
Para habilitar varios diseños, debe utilizar la sección de representación de un objeto de informe. Dentro de la sección de representación, defina una o varias secciones de diseño. En cada una de las secciones de diseño, puede especificar detalles sobre la ruta y el nombre del archivo de diseño, así como proporcionar una propiedad Caption y una propiedad Summary que se mostrarán al usuario en la página Diseños de informe en Business Central.
Si no especifica un título, el nombre del diseño se mostrará al usuario.
El diseño predeterminado se puede especificar con la propiedad de informe de propiedades DefaultRenderingLayout. Esta propiedad no se puede establecer en objetos de extensión de informe, solo en objetos de informe.
Los informes que usan la anterior especificación de diseño basada en propiedades se pueden convertir para usar la sección de representación mediante una acción de código. Para utilizarlo, asegúrese de que las acciones estén activadas en la configuración de su extensión AL y coloque el cursor sobre cualquiera de las antiguas propiedades de diseño para utilizar la acción. Los diseños de tipo RDLC, Word, Excel y Personalizado se pueden especificar con la nueva sintaxis de representación.
Para generar el diseño, cree la extensión (Ctrl+Mayús+B). El archivo ExampleEXCELLayout.xlsx se crea en el raíz del proyecto actual.
Para abrir el archivo de diseño del informe generado, haga clic con el botón derecho en el archivo ExampleEXCELLayout.xlsx y seleccione Abrir externamente, tal y como se muestra en la captura de pantalla.
Ahora puede editar el diseño en Microsoft Excel.
En Excel, verá el diseño con este formato:
Es importante que no cambie el conjunto de datos en Excel, solo el diseño.
En Excel, vaya a la pestaña Insertar, elija Tabla dinámica y luego elija De tabla/rango con las opciones predeterminadas de Datos y Nueva hoja de cálculo. Haga clic en el botón Aceptar.
En el panel Campos de tabla dinámica a la derecha, elija una cantidad adecuada de campos para agregar al informe.
Si el campo Balance LCY se agrega como un Total en la sección Valores del panel Campos de tabla dinámica, puede cambiarlo a Suma, lo cual tiene más sentido en este informe:
Ahora cierre y guarde el archivo Excel.
Vuelva a Visual Studio Code, presione Ctrl+F5 para compilar e iniciar Business Central.
Ahora, para elegir el diseño de informe modificado, busque la página Selección de diseño de informes y, a continuación, busque el informe.
En la columna Tipo de diseño, elija Excel y luego elija Ejecutar informe en la barra de acciones.
En la página de solicitud, seleccione el botón Descargar y, una vez descargado el informe, ábralo.
Otra forma de generar el conjunto de datos para crear un diseño es ejecutar un informe en Business Central y en la página de solicitud, luego seleccionar la opción Microsoft Excel Documento (solo datos) y obtendrá el mismo punto de partida. Después, puede crear el diseño, guardarlo como un nuevo diseño e incluirlo en su proyecto de AL.
Contrato de datos de diseño de Excel en el primer lanzamiento de versiones de 2023 y versiones anteriores
Todos los archivos de diseño de Excel deben tener una hoja de cálculo llamada Datos. Esta hoja de cálculo tiene el objetivo de definir qué campos de metadatos (en la definición del conjunto de datos del objeto de informe) utiliza el diseño, lo que a veces también se denomina contrato de datos entre el archivo de diseño y la definición del conjunto de datos del informe. El contrato de datos consta de las siguientes reglas:
Los campos de metadatos deben escribirse en la primera fila de la hoja de cálculo Datos; uno en cada celda.
Todos los campos de metadatos en la hoja de cálculo Datos deben existir como campos de metadatos en la definición del conjunto de datos del objeto de informe.
No se puede cambiar el nombre de los campos en la hoja de cálculo Datos. Deben coincidir con los campos de metadatos en la definición del conjunto de datos.
No es necesario utilizar todos los campos de metadatos en la definición del conjunto de datos de la hoja de cálculo Datos.
Al desarrollar diseños de Excel, puede agregar datos de demostración a la hoja de cálculo Datos para que sea más fácil ver el resultado final cuando el informe se genere con el diseño. Los datos se eliminan al importarlos a Business Central, pero si incluye diseños de Excel en una aplicación o extensión, es posible que desee conservar los datos de demostración allí para que sea más fácil resolver problemas más tarde.
Contrato de datos de diseño de Excel en el segundo lanzamiento de versiones de 2023 y versiones posteriores
La propiedad ExcelLayoutMultipleDataSheets le permite trabajar con informes que representan varias hojas de cálculo para los datos del informe cuando el conjunto de datos tenga varios elementos de datos. Al establecer la propiedad en verdadero, el tiempo de ejecución de AL genera una hoja de cálculo de Excel para cada elemento de datos y coloca sus datos allí. De lo contrario, si la propiedad está establecida en falso (la opción predeterminada), se utiliza una sola hoja para todos los datos (como se describe en la sección anterior).
Todas las hojas se denominan #DataItemName (DataItemName es el nombre dado al elemento de datos en el diseño del informe). Cuando se agregan nuevos diseños de Excel vacíos al informe, la propiedad se utiliza para determinar la estructura de la hoja.
Con datos en varias hojas de cálculo, el diseño del informe puede ahora incluir fácilmente modelos de datos definidos con la característica PowerPivot en Excel.
Validar un diseño de Excel
Al importar un diseño de Excel como parte de una aplicación, o cuando un usuario carga un archivo de diseño de Excel, Business Central Server lleva a cabo las siguientes operaciones:
Carga el archivo de diseño de Excel, confirma que sea un archivo de Excel (.xlsx) y comprueba si está protegido con contraseña. Si no es un archivo Excel válido, Business Central Server rechaza el diseño.
Lee los campos de metadatos en la hoja de cálculo Datos (el contenido del contrato de datos). Si no hay ninguna hoja de cálculo Datos, Business Central Server rechaza el diseño.
Elimina cualquier otro dato presente en la hoja de cálculo Datos.
Comprueba si todos los campos de metadatos de la hoja de cálculo Datos existen como campos de metadatos en la definición del conjunto de datos del objeto de informe. Es decir, Business Central Server comprueba que el contrato de datos sea válido. Si no es así, Business Central Server rechaza el diseño.
Ejecutar un informe con un diseño de Excel
Cuando se ejecuta un informe con un diseño de Excel, Business Central Server lleva a cabo las siguientes operaciones:
Genera el conjunto de datos según lo especificado en la definición del conjunto de datos en el objeto de informe y de acuerdo con las modificaciones de los filtros y las opciones de la página de solicitud.
Carga el archivo de diseño de Excel.
Inserta los datos en la tabla Datos de la hoja de cálculo Datos (en el archivo de diseño de Excel).
Le da al usuario el libro de Excel combinado, para que lo descargue o lo vea en Excel Online (si lo habilita el administrador de inquilinos). Para obtener más información sobre cómo ver resultados de Excel en Excel Online, vaya a Guardar archivos de informes y libros de Excel en OneDrive.
Cambiar el contrato de datos después de agregar nuevas columnas al conjunto de datos del informe
Si agrega nuevas columnas al conjunto de datos del informe después de haber creado diseños de Excel, los contratos de datos en los diseños no se actualizan automáticamente. Sin embargo, no es necesario crear de nuevo los diseños desde cero; puede agregar las nuevas columnas manualmente a la línea de encabezado en la hoja de cálculo del contrato de datos.
Para un desarrollador de informes que trabaja con código AL, es posible que la forma más sencilla de obtener los nuevos nombres de las columnas sea a partir del código AL del objeto de informe. Para un desarrollador de informes que solo trabaja en Excel, la forma más sencilla de obtener los nuevos nombres de las columnas es ejecutar el informe en Business Central y en la página de solicitud y, luego, seleccionar la opción Documento de Microsoft Excel (solo datos). Con esto, obtendrá un libro de Excel con todas las columnas en el contrato de datos.
Etiquetas de informe en diseños de Excel
Las etiquetas de informe se utilizan en los diseños de informes; por ejemplo, como el encabezado de un campo en una tabla, el título de un gráfico o el título del propio informe.
Las etiquetas de informe definidas en la sección Etiquetas del objeto de informe, así como los títulos incluidos en las columnas de elementos de datos mediante la propiedad IncludeCaption, están disponibles en la hoja de cálculo CaptionData en Excel.
Asignar formato a datos en diseños de Excel
A menudo, conviene cambiar el formato de los datos de un informe con respecto a cómo aparecen en tablas, consultas o páginas. Por ejemplo, si un campo decimal en una tabla tiene una precisión de cinco dígitos, es posible que no se necesite el mismo nivel de precisión en el informe.
En los diseños de Excel, hay muchas formas de controlar el formato de los elementos de datos directamente en Excel. Para obtener más ejemplos sobre cómo cambiar el formato de los datos en Excel, consulte:
Obtención de detalles de Business Central desde un diseño de Excel
Con la obtención de detalles en un diseño de Excel, puede crear hipervínculos a Business Central desde celdas de Excel. Cuando el usuario del informe selecciona la celda, obtiene detalles de la página de destino a fin de obtener detalles filtrados según ese contexto. Para implementar un vínculo de obtención de detalles, necesita conocer las páginas que debe abrir y los filtros que debe crear a fin de aplicarlos en esa página. Los datos que aparecen en la página se filtran con el parámetro de URL del filtro. El parámetro del filtro le permite mostrar registros específicos de la tabla subyacente de la página.
Uso de fuentes en diseños de Excel
La versión en línea de Business Central contiene fuentes preinstaladas en los servidores que se pueden usar al generar informes. Puede utilizar cualquiera de estas fuentes en el diseño.
Para obtener más información, consulte Fuentes disponibles en Business Central Online.
Uso de temas de documentos de Office en diseños de Excel
Los temas de documentos de Office facilitan la coordinación de colores, fuentes y efectos de formato gráfico en los diseños de Word y Excel, y los actualizan rápidamente.
Para obtener más información, consulte Cambiar un tema y convertirlo en predeterminado en Word o Excel.
Uso de fórmulas con nombre integradas en diseños de Excel
Para facilitar el uso de los datos desde las hojas de metadatos, los libros de Excel incorporan fórmulas con nombre. En lugar de tener que desarrollar complicadas fórmulas BUSCARV o BUSCARX, los autores de informes pueden utilizar fórmulas con nombre, como ReportRequest.Date o ReportMetaData.ReportHelpLink.