Перейти к основному содержанию
`Ctrl`+`K`

# Построение отчета

Отчеты системы GlobalFramework хранятся в базе данных — это позволяет легко адаптировать их под проекты. Для управления отчетами перейдите в `приложение Global - Настройка системы`.

Существует четыре типа отчетов:

- произвольный;

- динамический;

- отчет с селекционным экраном;

- экранная форма.

## Варианты построения отчета

### Операция «Построить отчет»

Стандартное построение отчета выбранного типа с заполнением параметров.

Для построения отчета перейдите в `Отчеты - Настройки отчетных форм`, выбрать нужный отчет, нажать `Построить отчет` и заполнить необходимые параметры.

### Операция «Построить отчет c текущими параметрами»

Построение отчета с уже настроенными ранее параметрами.

Для построения отчета перейдите в `Отчеты - Настройки отчетных форм`, выбрать нужный отчет, перейти на закладку «Журнал построения отчета», выбрать одну из предыдущих версий отчета и нажать `Построить отчет с текущими параметрами`. Система создаст новый отчет, используя параметры выбранного варианта.

Поведение идентично операции «Построить отчет».

### Операция «Построить отчет в фоновом режиме»

Для работы отчета в фоновом режиме необходимо:

- Включить параметры:

  - «Вести журнал построения отчета» (закладка «Объектные характеристики»).

  - «Доступен фоновый режим» (закладка «Печатные формы отчета»).

- Убедиться, что планировщик `Btk_Job` запущен и корректно настроен в системе. Через него работает фоновая печать.

- Отчет не должен быть интерактивным. Печать интерактивного отчета в фоновом режиме невозможна.

1. Работает аналогично операции «Построить отчет», но в фоновом режиме. Запускается той же кнопкой.

2. При запуске (после окна с указанием параметров) открывается модальное окно с выбором:

   - режима выполнения;

   - даты и времени старта.

3. После завершения система показывает уведомление с перечнем построенных отчетов.

4. Результаты сохраняются:

   - в журнале построения отчета;

   - как прикрепленные файлы (если выбрано сохранение документа).

5. Если отчет запланирован, то в журнале можно удалить запись в состоянии «Запланирован к фоновой печати».

6. Подробности выполнения смотрите:

   - на вкладке Журнал построения отчета;

   - в меню `Сервис → Фоновые задания` (отображает все фоновые процессы).

## Механизм построения отчета

### Для произвольных отчетов

1. Механизм поиска отчета: система ищет печатную форму, указанную на закладке «Объектные характеристики».

2. Открытие выборки с параметрами:

   - Вычисляет расширение файла (если выбрано несколько расширений по умолчанию), в котором будет создан отчет.

   - Открывает выборку в режиме `lookup`, в которой заполняется карта параметров `Rpt_Pkg().docReportParamsMap` (системное имя параметра → параметр).

3. Печать отчета: отчет формируется через метод `printReport`.

### Для остальных типов

1. Механизм поиска отчета: система ищет печатную форму, установленную «По умолчанию», указанную на закладке «Печатные формы отчета».

2. Открытие выборки с параметрами:

   - Вычисляет расширение файла (если выбрано несколько расширений по умолчанию), в котором будет создан отчет.

   - Форма с параметрами указывается напрямую названием выборки и отображения.

3. Печать отчета: отчет формируется через метод `printReport`.

### Механизм поиска отчета

- Динамический отчет: поиск по `sSelectionName` и `sRepresentationName`.

- Отчет с селекционным экраном: поиск по `sSelectionName` и `sRepresentationName`.

- Экранная форма: поиск по `sSelectionName` и `sRepresentationName`.

- Произвольный отчет: механизм отличается (см. раздел Описание операций) .

Название выборки `sSelectionName` и отображения `sRepresentationName` указываются в карточке в объектных характеристиках отчетной формы `Rpt_Entity`.

Пример:

- `sSelectionName` (имя выборки): Asf_InvNumbInSelScreenAvi.

- `sRepresentationName` (имя отображения): SelectionScreenCardDeprTax.

## Проверка дубликатов отчетов по параметрам

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

Условия работы:

- Параметр «Тип проверки отчета» выбран: «При построении» или «При построении и сохранении» (закладка «Объектные характеристики»).

- Включен параметр «Вести журнал построения отчета» (закладка «Объектные характеристики»).

Если условия не выполнены — система всегда создает новый отчет.

## Сохранение отчетов

Вариант сохранения определяется параметрами на закладке «Объектные характеристики»:

1. «Сохранять отчет в документ».

   - Создается документ формата `Wf_Doc` с прикрепленным PDF-отчетом.

   - В журнале появляется запись о построении отчета с указанием версии документа.

2. «Сохранять отчет в журнал как прикрепленный файл».

   - Создается документ `Wf_Doc` с PDF.

   - В журнале появляется запись о построении отчета + документ прикрепляется к этой записи.

Оба варианта используют документ общего типа `Wf_Doc`, к которому прикрепляются файлы отчетов. Разница заключается в способе связи между записью в журнале и созданным документом.

## Закладки справочника

### Параметры отчета

- Содержит параметры, настроенные на отчете.

- Создание и удаление параметров по умолчанию выполняется в классе Печатные формы на соответствующей закладке.

- Получить параметры можно с помощью операции Получить параметры отчета.

### Объектные характеристики

Настройки печати отчетов:

- Тип проверки отчета при построении.

- Ведение журнала построения отчета.

- Сохранение отчета в журнал как прикрепленного файла.

- Сохранение отчета в документ (прикрепление отчета к документу класса `Wf_Doc`).

### Журнал построения

- Содержит ранее сформированные отчеты.

- Хранит параметры и метаданные отчетов.

- Запись создается, только если включен соответствующий флаг на закладке Объектные характеристики.

### Дополнительные настройки

- Тип документа: определяет тип документа, создаваемого при построении отчета.

- JEXL для даты версии: содержит Jexl-выражение, которое вычисляет дату версии отчета.

- Роли доступа отчета: определяет, кто может просматривать или запускать отчет.

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

- JEXL расширения сеттеров отчета: позволяет задать кастомную логику сеттера для интерактивного отчета.

### Печатные формы отчета

#### Для произвольных отчетов

- Допустима только одна печатная форма.

- Из этой формы берутся все параметры отчета.

#### Для остальных типов

- Отображается список всех печатных форм.

- Можно установить флаг печатной формы по умолчанию.