XSQUARE REPORTS

Разрабатывай отчеты как ты привык!

Проектируй шаблоны печатных форм сразу в привычных MS Office/ Мой Офис, Р7 офис. Не нужно никакого дополнительного дизайнера печатных форм

Какие преимущества дает работа с XREPORTS

  • Требования к запуску

    • REST API (xml/json)
    • 1 команда для установки - yum install xreports
    • 5 параметров для настройки
    • 10 минут и первый отчет готов
  • Требования к окружению

    • Нативная генерация XLSx, DOCx, PDF. Независимость от фреймворков и библиотек. 100% своя разработка.
    • 15 МБ RAM для работы 10-ти HTTP клиентов
    • Любая RPM/DEB based операционная система
    • Любая архитектура - X86/ARM/Эльбрус/Байкал
  • Требования к производительности

    • 10 000 отчетов за минуту в конкурентном режиме
    • 1 млн строк XLSx за 15 секунд
    • массовая печать документов
    • нативный парсинг XLSX
    • объединение PDF документов

Скорость формирования XLSx:

  • 0.129 секунды
    10 тысяч строк
  • 1.3 секунды
    100 тысяч строк
  • 15 секунд
    1 млн строк

Архитектура решения XREPORTS

  • HTTP BY
    {JSON}
    <XML>
  • XSQUARE-REPORTS SREVER
    FAX
    Набор шаблонов
  • Готовые документы

Пример вызова сервиса генерации XLSx

Пример вызова сервиса

Для формата XML
curl --request POST --data-binary "@templates/examples/xlsx/base_example_xml.xml" http://localhost:8087/excel_report_xml
Для формата JSON
curl --request POST --data-binary "@templates/examples/xlsx/base_example.json" http://localhost:8087/excel_report_json

Структура ответа

Формат ответа (JSON или XML) может быть задан двумя способами:

  1. в HTTP заголовке Accept. Поддерживаемые значения: application/json и application/xml .
  2. в теле запроса в элементе (объекте) response-format. Поддерживаемые значения: json и xml.

Приоритет имеет формат, указанный в теле запроса.

Ответ сервиса содержит объект в формате JSON или XML, который включает:

  1. Описание ошибки (код ошибки, сообщение об ошибке). В случае успешного ответа сервиса возвращается значение null.
  2. Результат (закодированный в BASE64 файл документа отчета в формате xlsx).

Формат ответа

{
   error: {
       code
       message
   }
   result: "[base64 encoded xlsx file]"
}

Пример ответа

{
   "error": null,
   "result": "UEsDBBQACAAIAPdKo...JwAAAAA="
}

Коды ошибок

Поле code может принимать следующие значения:

1” - ошибка в запросе;

2” - ошибка формирования отчета.

Пример для формата JSON

{
   "template":
   {
       "uri": "local",
       "id": "template_example_1"
   },
   "input-data":
   {
       "ORGANIZATION": "АО «xxxxyyyy»",
       "TAG_IN_HEADER_TEST": "Пример верхнего колонтитула",
       "TAG_IN_FOOTER_TEST": "Пример нижнего колонтитула",
       "CONDITIONAL_TAG_TRUE": "true",
       "CONDITIONAL_TAG_FALSE": "false",
       "TABLE-NO-FORMAT":
       {
           "header":
           [
               "№ п/п",
               "№ дела в Арбитражном суде",
               "Период задолженности",
               "Основной долг, руб. с НДС",
               "Проценты, руб.",
               "Госпошлина, руб.",
               "Неустойка по решению суда",
               "Общая сумма погашения, руб.",
               "Срок погашения, не позднее"
           ],
           "rows":
           [
               [
                   "1",
                   "А12-1234/2030",
                   "Октябрь 2017",
                   "12 345,58",
                   null,
                   "23 456,00",
                   "78 912,41",
                   null,
                   "31.08.2019"
               ]
           ]
       },
       "TABLE-FORMATTED":
       {
           "rows":
           [
               {
                   "номер_пп": "1",
                   "номер_договора": "Пример номера 1",
                   "район": "Пример района 1",
                   "предприятие": "Пример предприятия 1",
                   "дата_отключения": "Пример даты 1",
                   "адрес": "Пример адреса 1",
                   "комплексное_поле": "Пример суммы 1"
               }
           ]
       },
       "images":
       {
           "IMAGE-1-JPEG":
           {
               "data": "/9j/4AAQSkZJRgABAQEAYABgAAD…igAooAKKACigAooAKKACigD//Z"
           },
           "IMAGE-2-JPEG":
           {
               "data": "/9j/4AAQSkZJRgABAQEAYAB…AooAKKACigAooAKKACigAooA//9k="
           }
       }
   },
   "options":
   {
       "enable-debug-report-save": true,
       "formatting": {
           "tables": {
               "enable-cells-auto-merge": true
           }
       }
   }
}

Преимущества

  • Привычно окружение

    Проектируй шаблоны печатных форм сразу в привычных MS Office/ Мой Офис, Р7 офис. Не нужно никакого дополнительного дизайнера печатных форм
  • Гибкость

    Применение унифицированных запросов в формате JSON или XML позволяет использовать любые источники данных для запросов
  • Скорость

    Сервер отчетов позволяет параллельно обрабатывать множество клиентских запросов и быстро формировать отчеты
  • Простая интеграция

    Использование REST API позволяет легко интегрировать сервер отчетов в любую IT-систему
  • Кроссплатформенность

    Сервер отчетов поддерживает x86-64/ARM/E2K
  • QR-code генератор

    Генерируем популярные QR-коды
  • Универсальность

    Сервер отчетов поддерживает все популярные форматы документов: DOCX, XLSX, PDF
  • Функциональность

    Сервер отчетов предоставляет дополнительные функциональные возможности: массовая печать документов, экспорт данных из XLSX документов, формирование печатной формы PDF документов, объединение PDF документов
  • Мы можем так:

    select * from XLSx.Sheet1
    А так же XLS, DBF А Вы? Попробовать

Процесс генерации отчетов

  • Создавайте шаблон документа в привычном формате.

    Редактируйте шаблоны там , где Вам удобно: WORD / EXCEL / P7 Office/ Мой офис/ Libre Office

    Формируйте попиксельную верстку PDF документов с помощью команд PDF генератора

    1 этап генерации
  • Создавайте запрос в унифицированном формате в файлах JSON или XML. Благодаря этому источником данных для заполнения шаблонов может быть ваша база данных, веб-страницы, веб-формы, а также сторонние сервисы.

    Использование единого сервера отчетов позволяет унифицировать все документы в организации.

    2 этап генерации
  • В результате сервис сформирует готовый документ в необходимом формате:
    DOCX, XLSX, PDF, CSV и т.д.

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

    Готовый результат

Сервер отчетов это:

Сервис формирования отчетов из документа-шаблона в формате DOCX по HTTP-запросу в формате JSON или XML

Функциональные возможности:

  • формирование отчетов PDF по запросу в формате JSON;
  • генерация текстовых данных;
  • генерация таблиц;
  • добавление изображений;
  • генерация графических примитивов;
  • использование PDF документов в качестве шаблонов страниц;
  • использование тегов в командах для замены подстановочными данными;
  • условные команды для управления состоянием генератора;
  • объединение PDF документов;
  • формирование печатной формы для PDF документа;

Среда исполнения

Оборудование:

RAM - 20Mb

CPU - 1 Core

HDD - 50Mb

Операционные системы:

Совместимо с

  • Astra Linux
  • RED OS
  • Alt Linux
  • ROSA

Любые rpm/deb based OS

  • Ubuntu 20+
  • Red Hat 8+
  • Debian 10+

Архитектуры:

  • x86-64
  • ARM (в том числе байкал)
  • e2k Эльбрус

Кто воспользовался сервером отчетов XREPORTS

Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot