# Пакетная отчетность

QV2QS генерирует как отчеты по отдельным проектам, так и сводные отчеты после пакетного запуска, предоставляя подробные результаты конвертации на каждом уровне.

## Отчеты по проектам

Каждый проект в пакете получает отдельный отчет о конвертации Excel и сводный файл JSON, аналогично режиму одного проекта. Эти файлы записываются в подпапку `reports/` в выходном каталоге каждого проекта.

## Сводные отчеты

QV2QS записывает следующие агрегированные файлы в корневой выходной каталог:

* `batch_summary.json` — Машиночитаемая сводка с количеством проектов, статусом успешного/неудачного выполнения, временем выполнения и агрегированными KPI (общее количество листов, объектов, процент автоматизации).
* `batch_summary.html` — Автономный HTML-отчет для быстрого просмотра.
* `batch_conversion_report_<timestamp>.xlsx` — Консолидированная книга Excel со сводным листом, разбивкой по проектам и объединенной детализацией объектов по всем проектам.

## Структура batch\_summary.json

Файл `batch_summary.json` содержит следующие поля верхнего уровня для интеграции с CI/CD и программного парсинга.

| Поле | Описание |
| --- | --- |
| `schema` | Версия схемы (в настоящее время `1`). |
| `kind` | Всегда `qv2qs_batch_summary`. |
| `version` | Строка версии QV2QS. |
| `timestamp_utc` | Метка времени пакетного запуска в формате ISO 8601. |
| `batch.total_projects` | Общее количество обнаруженных проектов. |
| `batch.succeeded` | Количество успешно завершенных проектов. |
| `batch.failed` | Количество проектов, завершившихся сбоем. |
| `batch.wall_clock_sec` | Общее затраченное время в секундах. |
| `batch.cumulative_sec` | Сумма длительностей всех отдельных проектов. |
| `aggregated_kpis` | Итоги по всем успешным проектам: `sheets`, `objects_in_scope`, `auto`, `follow_up`, `errors`, `images_unique`, `auto_pct`, `follow_up_pct`. |
| `projects` | Массив записей для каждого проекта. Каждая запись содержит `name`, `ok` (логическое значение), `duration_sec` и `output_dir`. Успешные проекты содержат объект `summary` с количеством листов/объектов. Проекты, завершившиеся сбоем, содержат строку `error`. |
| `exec_summaries` | Массив полных объектов краткого резюме для всех успешных проектов. |

Файл `executive_summary.json` для каждого отдельного проекта использует одну и ту же схему (`kind: qv2qs_exec_summary`) и содержит метаданные `project`, `kpis` (листы, объекты, оценки автоматизации, количество переполнений), `breakdowns` (результаты по типам, действия при переполнении) и `object_details` (плейсхолдеры, ошибки, корректировки, сгруппированные по типу). В режиме одного проекта файл также содержит раздел `data_model` с количеством полей и таблиц, размерами в байтах и свойствами приложения. Свойства приложения включают время последней перезагрузки, заголовок окна, статус доступа к разделу и типы подключений для происхождения данных. Раздел `data_model` не включается в файлы отдельных проектов в пакетном режиме.

Объект `kpis` содержит следующие временные поля:

| Поле | Описание |
| --- | --- |
| `kpis.duration_sec` | Длительность локальной конвертации в секундах (только парсинг PRJ и генерация JSON). |
| `kpis.app_build_sec` | Длительность сборки облачного приложения в секундах (`qlik app build`). Присутствует только в том случае, если было выполнено развертывание в облаке. |
| `kpis.app_build_included_reload` | Логическое значение. `true`, если время сборки приложения включает перезагрузку, и `false` в противном случае. Присутствует только в том случае, если было выполнено развертывание в облаке. |
| `kpis.total_duration_sec` | Сквозное астрономическое время в секундах (конвертация + развертывание в облаке). Отображается только в том случае, если было выполнено развертывание в облаке. Для запусков только в локальном режиме используйте `duration_sec`. |

## Вывод консоли

После завершения всех проектов в консоли отображается сводная таблица, содержащая общее количество проектов, число успешных и завершившихся сбоем проектов, астрономическое время и совокупное время обработки. Проекты, завершившиеся с ошибкой, отображаются по отдельности с сообщениями об ошибках.

## Справочник по Batch CLI

Следующие аргументы относятся только к пакетному режиму. Сведения об общих аргументах преобразования, которые также применяются в пакетном режиме, см. в разделе [Справочник по аргументам](https://help.qlik.com/ru-RU/migration/Content/Qv2qsMigration/command-line-interface/argument-reference.htm).

| Аргумент | Описание | По умолчанию |
| --- | --- | --- |
| `--batchDir PATH` | Корневой каталог (или пути, разделенные точкой с запятой) для поиска проектов QVW/QVF. | Требуется |
| `--batchWorkers N` | Максимальное количество проектов для одновременной конвертации (`0` = авто: количество ядер процессора минус 1). | `0` |
| `--batchFlatOutput` | Сделать структуру выходного каталога плоской вместо повторения исходной иерархии. | Выкл. |
| `--generatePrj` | Автоматически создавать папки PRJ для исходных файлов, у которых нет такой папки. | Выкл. |
| `--qsAppName TEMPLATE` | Шаблон именования приложений для развертывания Qlik Cloud. Поддерживает заполнители `{name}`, `{rel}` и `{index}`. | Имя проекта |

## Подробнее

* [Структура вывода и именование приложения](https://help.qlik.com/ru-RU/migration/Content/Qv2qsMigration/batch-conversion/output-structure-and-app-naming.htm)
* [Отчет о конверсии](https://help.qlik.com/ru-RU/migration/Content/Qv2qsMigration/conversion-results/conversion-report.htm)
* [Сводная панель мониторинга для руководства](https://help.qlik.com/ru-RU/migration/Content/Qv2qsMigration/user-interface/executive-summary-dashboard.htm)