updated advanced pack to 3.12.0:

Reports:

    Non-aggregated columns in Grid report export.
    Normalized table mode for 2-dimensional Grid reports.
    Ability to create internal reports via the UI.
    Ability to show/hide and resize columns in the list report result view.
This commit is contained in:
2026-02-07 16:09:20 +01:00
parent 26db904407
commit f95246f99f
384 changed files with 6184 additions and 3643 deletions

View File

@@ -11,7 +11,7 @@
* usage to the software or any modified version or derivative work of the software
* created by or for you.
*
* Copyright (C) 2015-2025 EspoCRM, Inc.
* Copyright (C) 2015-2026 EspoCRM, Inc.
*
* License ID: 19bc86a68a7bb01f458cb391d43a9212
************************************************************************************/
@@ -19,6 +19,7 @@
namespace Espo\Modules\Advanced\Tools\Report;
use Espo\Core\Acl\Table as AclTable;
use Espo\Core\Currency\ConfigDataProvider as CurrencyConfig;
use Espo\Core\Exceptions\BadRequest;
use Espo\Core\Exceptions\Error;
use Espo\Core\Exceptions\Forbidden;
@@ -85,7 +86,8 @@ class Service
private ListLoadProcessor $listLoadProcessor,
private Log $log,
private GridQueryPreparator $gridQueryPreparator,
private SubListQueryPreparator $subListQueryPreparator
private SubListQueryPreparator $subListQueryPreparator,
private CurrencyConfig $currencyConfig,
) {}
/**
@@ -612,6 +614,7 @@ class Service
$columnTypeMap = [];
$columnDecimalPlacesMap = [];
$columnNameMap = [];
$groupNameMap = [];
$nonSummaryColumnList = array_values(array_diff($data->getColumns(), $summaryColumnList));
$emptyStringGroupExcluded = false;
@@ -627,6 +630,7 @@ class Service
$this->gridResultHelper->populateGroupValueMapByLinkColumns($data, $linkColumnList, $rows, $groupValueMap);
$this->gridResultHelper->populateGroupValueMapForDateFunctions($data, $grouping, $groupValueMap);
$this->gridResultHelper->populateColumnInfo($data, $columnTypeMap, $columnDecimalPlacesMap, $columnNameMap);
$this->gridResultHelper->populateGroupNameMap($data, $groupNameMap);
$this->gridResultHelper->sortGrouping($data, $grouping, $groupValueMap);
$reportData = $this->gridBuilder->build(
@@ -679,6 +683,9 @@ class Service
chartDataList: $data->getChartDataList(), // stdClass[]
columnDecimalPlacesMap: (object) $columnDecimalPlacesMap, // object<?int>,
emptyStringGroupExcluded: $emptyStringGroupExcluded,
currency: $this->currencyConfig->getDefaultCurrency(),
groupNameMap: $groupNameMap,
tableMode: $data->getTableMode(),
);
$resultObject->setSuccess($data->getSuccess());