} $filter = array_reverse($filter, true); // restore order $iFilter = $filter; // </editor-fold> // <editor-fold defaultstate="collapsed" desc="prepare limit"> $limit = !empty($_POST['report_filter_limit']) && is_numeric($_POST['report_filter_limit']) ? $_POST['report_filter_limit'] : null; // </editor-fold> // combine $reportSettings = array('title' => $title, 'description' => $description, 'owner' => $ownerId, 'entity' => $entityName, 'period' => $period, 'select' => $select, 'filter' => $iFilter, 'sort' => $sortFieldKey, 'sort_type' => $sortType, 'limit' => $limit); if (!empty($formErr)) { throw new BXFormException($formErr); } // save if ($arParams['ACTION'] == 'create' || $arParams['ACTION'] == 'copy') { $ID = CReport::Add($reportSettings); } else { if ($arParams['ACTION'] == 'edit') { $ID = $arParams['REPORT_ID']; CReport::Update($ID, $reportSettings); } } $url = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_REPORT_VIEW"], array('report_id' => $ID)); LocalRedirect($url); exit; // </editor-fold> } else { // <editor-fold defaultstate="collapsed" desc="initialize default values"> if ($arParams['ACTION'] == 'edit' || $arParams['ACTION'] == 'copy') { $settings = unserialize($arResult['report']['SETTINGS']); CReport::fillFilterReferenceColumns($settings['filter'], $fieldList, $arParams['REPORT_HELPER_CLASS']);
} } unset($nReps); CUserOptions::SetOption('sale', $optionSaleReportsVersion, $saleReportVersion); } // create default reports by user request if (!empty($_POST['CREATE_DEFAULT'])) { $dReports = CBaseSaleReportHelper::getDefaultReports(); foreach ($dReports as $moduleVer => $vReports) { //CReport::addFreshDefaultReports($vReports, $ownerId); foreach ($vReports as &$dReport) { $dReport['settings']['mark_default'] = $dReport['mark_default']; $dReport['settings']['title'] = $dReport['title']; $dReport['settings']['description'] = $dReport['description']; $dReport['settings']['owner'] = $dReport['owner']; CReport::Add($dReport['settings']); } unset($dReport); } LocalRedirect($arParams['PATH_TO_REPORT_LIST']); } // </editor-fold> $needDisplayUpdate14_5_2message = false; if (CUserOptions::GetOption('report', 'NEED_DISPLAY_UPDATE_14_5_2_MESSAGE', 'Y') === 'Y') { $needDisplayUpdate14_5_2message = true; CUserOptions::SetOption('report', 'NEED_DISPLAY_UPDATE_14_5_2_MESSAGE', 'N'); } // Preparing reports list. $sTableID = 'tbl_sale_report'; $lReports = new CAdminList($sTableID); if (($arID = $lReports->GroupAction()) && $saleModulePermissions >= 'W') {