Impresión y exportación en segundo plano

Imprimir cientos de facturas de una sola vez o exportar decenas de miles de líneas puede tardar más de lo que una página web puede esperar: el navegador muestra entonces un error aunque el servidor siga trabajando. Para evitarlo, las solicitudes de impresión y exportación grandes se ejecutan en segundo plano: el usuario sigue trabajando y recibe una notificación cuando el archivo está listo para descargar.

Dos módulos ofrecen este comportamiento:

  • Impresión asíncrona de informes (report_async_print), para informes en PDF;

  • Exportación asíncrona de listas (export_async), para las exportaciones de vistas de lista.

Ambos dependen del módulo Cola de trabajos (queue_job) para ejecutar las tareas.

Impresión en segundo plano

Seleccione los registros en una vista de lista e imprima un informe desde el menú Imprimir como de costumbre. Cuando el número de registros seleccionados alcanza el umbral (20 de forma predeterminada), el informe no se descarga directamente. En su lugar:

  1. una notificación confirma que los documentos se están preparando en segundo plano;

  2. una vez que el PDF está listo, se muestra una notificación persistente con un botón Descargar, y se envía un mensaje de Informe listo con un enlace al archivo a la bandeja de entrada del usuario. Si la generación falla, la notificación y el mensaje contienen el error en su lugar.

El archivo también se puede descargar más tarde desde Trabajos de impresión ‣ Mis trabajos de impresión, donde cada trabajo muestra el informe, el modelo, el número de registros y su Estado (En cola, Procesando, Hecho o Fallido). Haga clic en Descargar en un trabajo hecho para obtener el archivo.

Nota

  • Esto solo afecta a los informes en PDF. Las selecciones más pequeñas y otros tipos de informes se siguen descargando directamente como antes.

  • El informe se genera con los derechos de acceso del usuario que lo solicitó.

  • Los usuarios solo ven sus propios trabajos; los administradores (Administración: Ajustes) ven los trabajos de todos los usuarios.

  • Los trabajos y sus archivos se eliminan automáticamente después de siete días. Descargue el archivo de nuevo o vuelva a imprimir si lo necesita más tarde.

screenshot: essentials-background-jobs-print-notification
menu
Accounting ‣ Customers ‣ Invoices (30 invoices selected, Print ‣ Invoices)
shows
The invoice list with the green sticky notification "Your document … is ready." and its Download button in the top-right corner.
highlight
The notification (red frame).
data
30 posted customer invoices selected.
module
report_async_print
notes
English UI, light theme, 1440px width.

Configuración

Vaya a Ajustes ‣ Ajustes generales y desplácese hasta la sección Impresión en segundo plano. En Umbral de impresión masiva, introduzca el número de registros a partir del cual la impresión se ejecuta en segundo plano. Introduzca 0 para desactivar la impresión en segundo plano.

El umbral se puede anular informe por informe: en modo de desarrollador, vaya a Ajustes ‣ Técnico ‣ Acciones ‣ Informes, abra el informe y establezca el campo Umbral de impresión asíncrona:

  • 0: utiliza el umbral global;

  • un número positivo: utiliza este umbral para este informe, por ejemplo, uno más bajo para un informe que tarda en generarse;

  • -1: nunca imprime este informe en segundo plano.

Nota

El navegador lee el umbral global al cargar la página. Después de cambiarlo, los usuarios deben recargar la página para que se tenga en cuenta el nuevo valor.

Exportación en segundo plano

Exporte los registros de una vista de lista como de costumbre: seleccione los registros (o todos los registros de la búsqueda), haga clic en Acción ‣ Exportar, elija los campos y el formato, y haga clic en Exportar. Cuando el número de registros alcanza el umbral (2000 de forma predeterminada), la exportación se ejecuta en segundo plano:

  1. una notificación confirma que la exportación se está preparando;

  2. los registros se exportan en lotes sucesivos. Cuando el archivo está completo, se muestra una notificación persistente con un botón Descargar, y se envía un mensaje de Exportación lista con un enlace al archivo a la bandeja de entrada del usuario.

El progreso de una exportación se puede seguir en Trabajos de exportación ‣ Mis trabajos de exportación: la columna Desplazamiento de progreso muestra cuántos Registros se han exportado hasta el momento. Haga clic en Descargar en un trabajo hecho para obtener el archivo.

Nota

  • Se admiten tanto el formato XLSX como el CSV, así como la opción Quiero actualizar datos (exportación compatible con la importación).

  • La exportación de una lista agrupada siempre se ejecuta directamente, sea cual sea el número de registros, a menos que se marque la opción compatible con la importación.

  • La visibilidad de los trabajos y su eliminación automática después de siete días siguen las mismas reglas que los trabajos de impresión.

Configuración

Vaya a Ajustes ‣ Ajustes generales y desplácese hasta la sección Exportación en segundo plano:

  • Umbral de exportación masiva: el número de registros a partir del cual una exportación se ejecuta en segundo plano (2000 de forma predeterminada). Introduzca 0 para desactivar la exportación en segundo plano;

  • Tamaño del lote: el número de registros procesados por lote (200 de forma predeterminada). Redúzcalo si las exportaciones que contienen columnas calculadas pesadas, como los precios de las tarifas, fallan o tardan demasiado.

Al igual que con la impresión, los usuarios deben recargar la página después de cambiar el umbral.

Cola de trabajos

Los trabajos en segundo plano se ejecutan mediante el módulo Cola de trabajos (queue_job), un módulo técnico que también utilizan otras funciones para aplazar operaciones largas.

Los usuarios que pertenecen al grupo Gestor de cola de trabajos tienen acceso al menú Cola de trabajos ‣ Cola ‣ Trabajos, que enumera todos los trabajos de la base de datos con su estado, su tiempo de ejecución y, en el caso de un trabajo fallido, el error. Desde un trabajo, los botones Volver a poner en cola, Establecer como «Hecho» y Cancelar trabajo permiten volver a ejecutar un trabajo fallido o descartarlo.

Importante

Los trabajos solo se ejecutan si el ejecutor de trabajos está habilitado en la configuración del servidor. Si los trabajos de impresión o exportación permanecen en el estado En cola, póngase en contacto con su administrador de sistemas o su proveedor de alojamiento.