# Informes por lotes

QV2QS genera tanto informes por proyecto como agregados tras una ejecución por lotes, lo que proporciona resultados detallados de la conversión a todos los niveles.

## Informes por proyecto

Cada proyecto del lote recibe un informe de conversión de Excel individual y un archivo JSON de resumen ejecutivo, de forma idéntica al modo de proyecto único. Estos archivos se escriben en la subcarpeta `reports/` dentro del directorio de salida de cada proyecto.

## Informes agregados

QV2QS escribe los siguientes archivos agregados en el directorio raíz de salida:

* `batch_summary.json` — Resumen legible por máquina con recuentos de proyectos, estado de éxito/error, tiempos y KPI agregados (total de hojas, objetos, porcentaje de automatización).
* `batch_summary.html` — Informe HTML independiente para una revisión rápida.
* `batch_conversion_report_<timestamp>.xlsx` — Libro de Excel consolidado con una hoja de resumen, desglose por proyecto y detalle combinado de objetos de todos los proyectos.

## Estructura de batch\_summary.json

El archivo `batch_summary.json` contiene los siguientes campos de nivel superior para la integración de CI/CD y el análisis programático.

| Campo | Descripción |
| --- | --- |
| `schema` | Versión del esquema (actualmente `1`). |
| `kind` | Siempre `qv2qs_batch_summary`. |
| `version` | Cadena de versión de QV2QS. |
| `timestamp_utc` | Marca de tiempo ISO 8601 de la ejecución del lote. |
| `batch.total_projects` | Número total de proyectos detectados. |
| `batch.succeeded` | Número de proyectos que se completaron con éxito. |
| `batch.failed` | Número de proyectos que fallaron. |
| `batch.wall_clock_sec` | Tiempo total transcurrido en segundos. |
| `batch.cumulative_sec` | Suma de todas las duraciones individuales de los proyectos. |
| `aggregated_kpis` | Totales de todos los proyectos completados con éxito: `sheets`, `objects_in_scope`, `auto`, `follow_up`, `errors`, `images_unique`, `auto_pct`, `follow_up_pct`. |
| `projects` | Array de entradas por proyecto. Cada entrada incluye `name`, `ok` (booleano), `duration_sec` y `output_dir`. Los proyectos correctos incluyen un objeto `summary` con recuentos de hojas/objetos. Los proyectos fallidos incluyen una cadena `error`. |
| `exec_summaries` | Array de objetos de resumen ejecutivo completo para todos los proyectos completados con éxito. |

El archivo `executive_summary.json` de cada proyecto individual utiliza el mismo esquema (`kind: qv2qs_exec_summary`) y contiene metadatos de `project`, `kpis` (hojas, objetos, puntuaciones de automatización, recuentos de desbordamiento), `breakdowns` (resultados por tipo, acciones de desbordamiento) y `object_details` (marcadores de posición, errores, ajustes agrupados por tipo). En el modo de proyecto único, el archivo también contiene una sección `data_model` con recuentos de campos y tablas, tamaños en bytes y propiedades de la aplicación. Las propiedades de la aplicación incluyen la hora de la última recarga, el título de la ventana, el estado de Section Access y los tipos de conexión del linaje de datos. La sección `data_model` no se incluye en los archivos por proyecto del modo por lotes.

El objeto `kpis` incluye los siguientes campos de temporización:

| Campo | Descripción |
| --- | --- |
| `kpis.duration_sec` | Duración de la conversión local en segundos (solo análisis de PRJ y generación de JSON). |
| `kpis.app_build_sec` | Duración de la compilación de la aplicación en la nube en segundos (`qlik app build`). Presente solo cuando se haya realizado un despliegue en la nube. |
| `kpis.app_build_included_reload` | Booleano. `true` si el tiempo de compilación de la aplicación incluye una recarga, `false` en caso contrario. Presente solo cuando se haya realizado un despliegue en la nube. |
| `kpis.total_duration_sec` | Tiempo de reloj de extremo a extremo en segundos (conversión + despliegue en la nube). Presente solo cuando se ha realizado un despliegue en la nube. Para ejecuciones exclusivamente locales, utilice `duration_sec`. |

## Salida de la consola

Una vez completados todos los proyectos, la consola muestra una tabla de resumen con el número total de proyectos, cuántos se completaron correctamente, cuántos fallaron, el tiempo de reloj y el tiempo de procesamiento acumulado. Los proyectos fallidos se enumeran individualmente con mensajes de error.

## Referencia de la CLI de Batch

Los siguientes argumentos son específicos del modo por lotes. Para conocer los argumentos de conversión generales que también se aplican en el modo por lotes, consulte [Referencia de argumentos](https://help.qlik.com/es-ES/migration/Content/Qv2qsMigration/command-line-interface/argument-reference.htm).

| Argumento | Descripción | Predeterminado |
| --- | --- | --- |
| `--batchDir PATH` | Directorio raíz (o rutas separadas por punto y coma) para escanear en busca de proyectos QVW/QVF. | Obligatorio |
| `--batchWorkers N` | Número máximo de proyectos para convertir simultáneamente (`0` = automático: núcleos de CPU menos 1). | `0` |
| `--batchFlatOutput` | Aplanar la estructura del directorio de salida en lugar de reflejar la jerarquía de origen. | Desactivado |
| `--generatePrj` | Generar automáticamente carpetas PRJ para los archivos de origen que no tengan una. | Desactivado |
| `--qsAppName TEMPLATE` | Plantilla de nomenclatura de aplicaciones para el despliegue en Qlik Cloud. Admite los marcadores de posición `{name}`, `{rel}` y `{index}`. | Nombre del proyecto |

## Más información

* [Estructura de salida y nomenclatura de la aplicación](https://help.qlik.com/es-ES/migration/Content/Qv2qsMigration/batch-conversion/output-structure-and-app-naming.htm)
* [Informe de conversión](https://help.qlik.com/es-ES/migration/Content/Qv2qsMigration/conversion-results/conversion-report.htm)
* [Panel de resumen ejecutivo](https://help.qlik.com/es-ES/migration/Content/Qv2qsMigration/user-interface/executive-summary-dashboard.htm)