Выгрузка визуализации в формате .ods

Реализовали данную функциональность в версии 11.1

Для его работоспособности требуется установить на сервер с модулем appserver (appserver-mono) пакеты libreoffice-calc и luxmsbi-headless-office и стартовать службу luxmsbi-headless-office

Сначала выгрузка и отчет создаются в формате .xlsx, а затем преобразуются в .ods с помощью headless libreoffice

В файл настроек appserver.добавлены доп параметры:

# Reports service headless office turned on or off
luxmsbi.reports.headless-office-turned-on=true
# Reports service headless office connection timeout
luxmsbi.reports.headless-office-connection-timeout=3000
# Reports service headless office execution timeout
luxmsbi.reports.headless-office-execution-timeout=300000
# Reports service headless office host
luxmsbi.reports.headless-office-host=localhost
# Reports service headless office port
luxmsbi.reports.headless-office-port=8100
  • самый полезный из которых может пригодиться - luxmsbi.reports.headless-office-execution-timeout, в случае если дефолтного таймаута не будет хватать для обработки файла в libreoffice.

Отчеты с автоизменяемой высотой строк в .xlsx/.ods отчете.

Кроме возможности выгрузки в .ods, была добавлена возможность автоматически подгонять высоту строк в .xlsx/.ods отчетах. Чтобы данная функциональность начала работать и для .xlsx и для .ods отчетов, кроме вышеперечисленных шагов по установке и подключению libreoffce необходимо проделать следующие шаги:

  1. В шаблоне отчета на требуемой колонке установить Wrap Text

  2. В шаблоне отчета на строке с данными установить Optimal height (см скрин)
    изображение

  3. В настройках деша в секции report приписать "options":["RowOptimalHeight"]

report: [
    {
      title: 'Отчет',
      output: 'xlsx',
      options: [
        'RowOptimalHeight',
      ],
      template: 'res:ds_92:.reports/template_wrap',
    },
  ],

!!! На больших объемах данных отчет будет генерироваться очень долго (на. 8 тыс строках ~4 минуты)