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

jsreport#

Описание#

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

Note

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

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

Note

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

  • protocol - используемый веб-протокол (рекомендуемое `http`).
  • host - имя хоста (рекомендуемое `localhost`).
  • port - порт для запуска (рекомендуемое - 3070).
  • route - используемый маршрут (по умолчанию `/api/v2.0/jsreport`).
  • timeout - количество миллисекунд бездействия, после которого считается, что время ожидания истекло (по умолчанию 120). В режиме продакшена может потребоваться дополнильно настроить таймаут для веб-сервера (nginx).
  • 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 их необходимо установить в конфигурационном файле конечного приложения.