Мой первый отчет¶
Общее описание¶
В данном подразделе будет рассмотрен процесс создания простого отчета с помощью сервера отчетов. Для работы необходимо удостовериться, что установка сервера отчетов прошла успешно.
Первый шаблон¶
Для формирования отчета необходимо создать шаблон документа в формате DOCX или XLSX с помощью MS Word/Excel, Р7-Офис, LibreOffice Writer/Calc и т.п.
Шаблоны документов могут содержать теги, которые будут заменены входными данными из запроса. Тег задается в квадратных скобках. Пример: [задолженность]. Подробнее про создание шаблонов в формате DOCX и XLSX можно прочитать в разделе Сервис формирования отчетов из документа-шаблона.
Для первого отчета создадим простой шаблон в формате DOCX, который содержит несколько тегов: first_report_template.docx. Примеры более сложных шаблонов можно найти в архиве примеров.
Созданный шаблон размещаем на сервере в директории templates
, расположенной в директории приложения сервиса.
Примечание
Шаблоны страниц в формате PDF хранятся в директории templates/pdf
, расположенной в директории приложения сервиса.
Первый запрос¶
Далее формируем HTTP-запрос.
Запрос для первого отчета в формате JSON будет выглядеть следующим образом: first_report.json. Документ-шаблон, созданный ранее, указан в атрибуте id
элемента template
. Примеры более сложных запросов можно найти в архиве примеров.
Примечание. Также для запросов в формате DOCX или XLSX может быть использован формат XML.
Для получения файла отчета используем Сервис формирования отчетов из документа-шаблона.
Для получения первого отчета на основе созданного шаблона DOCX используем URI http://localhost:8087/word_report_json.
Описание¶
Наименование сервиса |
Сервис формирования печатной формы |
Путь к сервису |
[host]:[port]/print_form_pdf_json |
Метод |
POST |
Параметры |
Тело запроса должно содержать JSON объект:
|
|
|
Назначение |
Сервис предназначен для формирования печатной формы документа в формате PDF, включающей колонтикулы с краткой информацией о документе и таблицу подписантов на последней странице. |
Пример запроса¶
curl -X POST \
'http://localhost:8087/word_report_json' \
-H 'Content-Type: application/json' \
-d '{
"template":
{
"uri": "local",
"id": "first_report_template"
},
"input-data":
{
"ORGANIZATION": "АО «Пример»",
"DATE": "01.01.2023",
"EMP": "Иванов Иван Иванович"
},
"options":
{
"formatting": {
"tables": {
"enable-cells-auto-merge": true
}
}
}
}'
Пример запроса для сохранения результата в файл без кодирования в base64¶
curl -X POST \
'http://localhost:8087/word_report_json' \
-H 'Content-Type: application/json' \
-d '{
"template":
{
"uri": "local",
"id": "first_report_template"
},
"input-data":
{
"ORGANIZATION": "АО «Пример»",
"DATE": "01.01.2023",
"EMP": "Иванов Иван Иванович"
},
"options":
{
"enable-binary-output": true,
"formatting": {
"tables": {
"enable-cells-auto-merge": true
}
}
}
}'
-o first_report.docx
Получение первого ответа¶
Формат возвращаемого ответа¶
{
error: {
code:
message:
}
result: "[base64 encoded docx/pdf file]"
}
Пример ответа¶
{
"error": null,
"result": "UEsDBBQACAAIAPdKo...JwAAAAA="
}
Завершение¶
В итоге получаем файл документа первого отчета в формате DOCX, закодированный в base64, или сообщение об ошибке.