Saltar al contenido principal
Version: Next (5.0)

Motor de impresión

AWE incluye un motor de impresión genérico que permite generar el contenido de una pantalla en formato PDF, Excel y DOC.

Imprimir una pantalla​

Para habilitar la impresión en una pantalla, incluye el diálogo de impresión genérico de AWE:

<include target-screen="PrnOpt" target-source="center" />

A continuación, añade un botón que abra el diálogo incluido:

Botón de impresión

Una vez completados estos dos pasos, el usuario puede abrir el diálogo de impresión y elegir el formato de salida y las opciones:

Diálogo de impresión

Configurar el título​

Por defecto, el título de un informe impreso se genera con el patrón:

report title : report subtitle

Los valores usados para el título y el subtítulo se toman de las etiquetas definidas en la pantalla, como la etiqueta de la pantalla, del tabcontainer, de la ventana o del grid.

El siguiente ejemplo muestra una pantalla antes de imprimir:

Pantalla de ejemplo antes de imprimir

Si no se aplica ninguna configuración adicional, AWE usa las etiquetas existentes de la pantalla para construir el título impreso.

El resultado impreso de la pantalla anterior es el siguiente:

Salida impresa con el título por defecto

Puedes personalizar este comportamiento de las siguientes maneras:

  • Comportamiento por defecto: si no añades ninguna configuración adicional, AWE usa las etiquetas ya definidas en la pantalla.
  • Subtítulo personalizado: define el atributo label en el tabcontainer correspondiente y usa una entrada de locale si es necesario.
  • Eliminar el título principal: establece la label de la pantalla a un valor vacío si quieres que el informe impreso muestre solo el subtítulo.

Por ejemplo, tras definir un subtítulo personalizado en la etiqueta del tabcontainer, la configuración de la pantalla queda así:

Pantalla de ejemplo con subtítulo personalizado

En resumen, el título impreso se controla con las mismas etiquetas que se usan en la estructura de la pantalla, por lo que la personalización del título se realiza mediante la configuración normal de la pantalla.

Configurar los datos de impresión​

Desde AWE 3.2, el motor de impresión utiliza los datos que están disponibles actualmente en el cliente y los envía al motor de impresión.

Esto es importante cuando un grid usa paginación en el servidor (load-all="false"). En ese caso, el cliente solo tiene las filas cargadas actualmente en la página, por lo que el documento impreso solo incluirá esos datos.

Si necesitas imprimir el conjunto de resultados completo, la opción más sencilla es usar paginación local:

load-all="true"

Esto hace que todas las filas estén disponibles en el cliente, de modo que el motor de impresión pueda incluir el conjunto de datos completo.

warning

Este enfoque puede causar graves problemas de rendimiento si la consulta devuelve un gran número de filas.

Si necesitas mantener la paginación en el servidor y aun así imprimir el conjunto de datos completo, debes implementar un flujo de impresión específico del proyecto que recargue los datos necesarios antes de generar el documento. Ese escenario depende de la aplicación y queda fuera del alcance de esta guía genérica.

Elegir qué columnas del grid se imprimen​

Las columnas del grid se imprimen según su atributo printable:

  • Sin definir: se imprime en todos los formatos, pero solo mientras la columna esté visible en pantalla.
  • true: se imprime en todos los formatos, incluso cuando la columna es hidden="true".
  • excel: se imprime solo en las salidas de hoja de cálculo (XLSX y CSV), incluso cuando está oculta.
  • false: no se imprime nunca.

Esta es la forma recomendada de imprimir un valor sin formato cuando la columna mostrada en pantalla lleva marcado de estilos:

<column label="AMOUNT" name="Amount" charlength="20" printable="false"/>
<column label="AMOUNT" name="AmountRaw" charlength="20" hidden="true" type="float" printable="true"/>

Consulta columnas de impresión para ver las reglas completas.