Реализовали данную функциональность в версии 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 необходимо проделать следующие шаги:
-
В шаблоне отчета на требуемой колонке установить Wrap Text
-
В шаблоне отчета на строке с данными установить Optimal height (см скрин)
-
В настройках деша в секции report приписать
"options":["RowOptimalHeight"]
report: [
{
title: 'Отчет',
output: 'xlsx',
options: [
'RowOptimalHeight',
],
template: 'res:ds_92:.reports/template_wrap',
},
],
!!! На больших объемах данных отчет будет генерироваться очень долго (на. 8 тыс строках ~4 минуты)