Перейти к содержанию

jsreport

jsreport#

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

Note

Опциональный элемент системы. API доступно только внутри инфраструктуры серверной части lexema8.

Настройки сервиса отчетов jsreport#

Note

Раздел applications { jsreport { }} конфигурационного файла ./config/production.js

  • protocol - используемый веб-протокол (рекомендуемое 'http').
  • host - имя хоста (рекомендуемое 'localhost').
  • port - порт для запуска (рекомендуемое - 3070).
  • route - используемый маршрут (по умолчанию '/api/v2.0/jsreport').
  • script - путь к модулю, запускающему сервис (рекомендуемое 'ecosoft-lexema8-jsreport-service').
  • editor - настройки редактора отчета.
    • port - порт для запуска (по умолчанию 3069).
    • protocol - протокол (по умолчанию http).
  • core - настройки библиотеки jsreport-core для сервиса отчетов. Редактор отчетов использует только настройки раздела extensions.
    • store - настройки для хранения отчетов.
      • provider - задает один из возможных вариантов для хранения отчетов. Доступно только значение 'fs' (хранение в файловой системе).
    • templatingEngines - настройки компоненты, выполняющей задачи рендеринга.
      • strategy - стратегия для рендеринга отчетов. Доступные значения: 'dedicated-process', 'http-server', 'in-process' (по умолчанию 'in-process').
    • extensions - словарь используемых модулей для сервиса отчетов и редактора (редактор некоторые модули может подключать со своими настройками). Ключом является имя модуля, значением - объект с настройками (если необходимо использовать настройки по умолчанию, то необходимо передать пустой объект). При подключении модуля необходимо установить соответствующий пакет. Имя пакета формируется из имени модуля, с добавлением префикса 'jsreport-' (например, при подключении модуля jsrender имя пакета будет 'jsreport-jsrender'). Чтобы отключить модуль укажите в его настройках свойство enabled со значением false (Пример: xlsx: {enabled: false}) и удалите соответствующий пакет в package.json.
      • fs-store - хранение отчетов в файловой системе.
        • syncModifications - сброс кэша при изменении отчета (по умолчанию false). В редакторе отчетов эта настройка всегда передается со значением false.
      • chrome-pdf - создание pdf-отчетов с использованием headless chrome. Для этого модуля требуется установка пакета puppeteer (убедитесь, что в package.json в разделе dependencies прописан пакет puppeteer. Пропишите, если он отсутствует. В проекте прикладной библиотеки пакет puppeteer должен быть прописан в разделе devDependencies).
        • launchOptions - настройки запуска.
          • args - массив аргументов (по умолчанию ['--no-sandbox']).
      • handlebars - движок для описания макета шаблона (по умолчанию {}).
      • text - создание текстовых отчетов (по умолчанию {}).
      • xlsx - создание excel-отчетов (по умолчанию {}).
      • html-to-xlsx - создание excel-отчетов из html (по умолчанию {}).
      • templates - хранение и поиск шаблонов (по умолчанию {}).
      • child-templates - использование вложенных шаблонов (по умолчанию {}).
      • assets - встраивание статических ресурсов, такие как стили, шрифты или HTML (по умолчанию {}).
      • data - возможность привязки данных к шаблону (по умолчанию {}).

Значения для параметров protocol, host, port, script не определены по умолчанию, для работы с сервисом jsreport их необходимо установить в конфигурационном файле конечного приложения.