Создание шаблона отчёта
Введение
В модуле реализована возможность формировать документы(файлы) двух типов: Документы формата DPF и электронных таблиц(XLSX).
Создание шаблона для формата PDF
Подготовка шаблона для отчёта формата PDF происходит в FastReport Designer Community Edition(существует только для MS Windows). Актуальную версию можно загрузить по ссылке.
Создание шаблона для формата XLSX
- Открыть приложение для работы с электронными таблицами.
Создайте новый лист с именем Source (регистр значения не имеет).
В созданном листе, в ячейке A1 задайте произвольное имя(без пробела). Это имя будет использоваться в табличном теге, в ячейке B1 напишите SQL запрос. При использовании нескольких запросов их можно задать в следующей строке, важно что бы имя не повторялось.
| # | A | B |
|---|---|---|
| 1 | Users | select user_id, name from sequrityusers |
| 2 | Now | select to_char(now(), 'dd.mm.yyyy hh24:mm') |
| 3 | ... | ... |
Создайте ещё одной лист с произвольным именем и разместите на нём теги.
- Сохраните документ в формат XLSX.
Для подготовки шаблона для отчёта формата XLSX, можно воспользоваться MS Excel(входящим в пакет MS Office) Calc из LibreOffce, или одним из многих аналогов:
Теги
Для вставки полученных данных в шаблон используются теги. Теги бывают двух типов: строчные и табличные. Табличные теги начинаются с символа @, строчные с символа $. Табличные теги, подменяются на таблицу, полученную в результате выполнения SQL запроса и могут быть использованы только на странице. Строчное теги, содержать одно, скалярное значение(строка\число\дата) и могу быть использованы на странице и в имени листа. Строчные теги передаются в шаблон через параметры. Пример табличного тега выводящего данные в горизонтальную таблицу:
| # | A | B |
|---|---|---|
| 1 | <@Users Part=Head Direction=Horizontal> | |
| 2 | <@Users Part=Body Direction=Horizontal> | |
| 3 |
Пример табличного тега выводящего данные в вертикальную таблицу:
| # | A | B |
|---|---|---|
| 1 | <@Users Part=Head Direction=Vertical> | <@Users Part=Body Direction=Vertical> |
| 2 |
Для вывода значения одной ячейки, используются в паре параметры Row и Column. Нумерация начинается с единицы
| # | A |
|---|---|
| 1 | <@Users Row=4 Column=2> |
Пример применения строчного тега:
| # | A |
|---|---|
| 1 | <$DtBegin> — <$DtEnd> |
Параметры запроса
Для использования параметров в запросах, которые объявлены на листе Source, используются конструкция: @имя_параметра. Регистр имеет значение.
Пример:
1SELECT pn FROM store WHERE stored_date BETWEEN @DtBegin AND @DtEnd;