...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_report_helper.php
- Класс: \CCrmProductReportHelper
- Вызов: CCrmProductReportHelper::formatResultValue
static function formatResultValue($k, &$v, &$row, &$cInfo, $total, &$customChartValue = null) { // HACK: detect if 'report.view' component is rendering excel spreadsheet $isHtml = !(isset($_GET['EXCEL']) && $_GET['EXCEL'] === 'Y'); $field = $cInfo['field']; $fieldName = isset($cInfo['fieldName']) ? $cInfo['fieldName'] : $field->GetName(); $prcnt = isset($cInfo['prcnt']) ? $cInfo['prcnt'] : ''; $aggr = (!empty($cInfo['aggr']) && $cInfo['aggr'] !== 'GROUP_CONCAT'); if(!isset($prcnt[0]) && ($fieldName === 'DEAL_OWNER.OPPORTUNITY' || $fieldName === 'DEAL_OWNER.OPPORTUNITY_ACCOUNT' || $fieldName === 'DEAL_OWNER.RECEIVED_AMOUNT' || $fieldName === 'DEAL_OWNER.LOST_AMOUNT' || $fieldName === 'SUM_ACCOUNT' || $fieldName === 'PRICE_ACCOUNT' || $fieldName === 'DEAL_OWNER.COMPANY_BY.REVENUE')) { // unformatted value for charts $customChartValue['exist'] = true; $customChartValue['type'] = 'float'; $customChartValue['value'] = doubleval($v); $v = self::MoneyToString(doubleval($v), $isHtml); } elseif(!$aggr && $fieldName === 'DEAL_OWNER.TITLE') { if($isHtml && $v <> '' && self::$CURRENT_RESULT_ROW && isset(self::$CURRENT_RESULT_ROW['CRM_PRODUCT_ROW_DEAL_OWNER_ID'])) { $v = self::prepareDealTitleHtml(self::$CURRENT_RESULT_ROW['CRM_PRODUCT_ROW_DEAL_OWNER_ID'], $v); } } elseif(!$aggr && $fieldName === 'DEAL_OWNER.STAGE_ID') { if($v !== '') { $v = self::getDealStageName($v, $isHtml); } } elseif(!$aggr && $fieldName === 'DEAL_OWNER.TYPE_ID') { if($v !== '') { $v = self::getDealTypeName($v, $isHtml); } } elseif(!$aggr && $fieldName === 'DEAL_OWNER.CURRENCY_ID' || $fieldName === 'DEAL_OWNER.COMPANY_BY.CURRENCY_ID') { if($v !== '') { $v = self::getCurrencyName($v, $isHtml); } } elseif(!$aggr && $fieldName === 'DEAL_OWNER.EVENT_ID') { if($v !== '') { $v = self::getEventTypeName($v, $isHtml); } } elseif(!$aggr && $fieldName === 'DEAL_OWNER.WEBFORM_ID') { if($v !== '') { $v = self::getWebFormName($v, $isHtml); } } elseif(!$aggr && $fieldName === 'DEAL_OWNER.ORIGINATOR_BY.ID') { $v = self::getDealOriginatorName($v, $isHtml); } elseif(!$aggr && $fieldName === 'DEAL_OWNER.CONTACT_BY.SOURCE_BY.STATUS_ID') { if($v !== '') { $v = self::getStatusName($v, 'SOURCE', $isHtml); } } elseif(mb_strpos($fieldName, 'DEAL_OWNER.COMPANY_BY.') === 0) { if(!$aggr && ($v == '' || trim($v) === '.')) { if(mb_strpos($fieldName, 'DEAL_OWNER.COMPANY_BY.COMPANY_TYPE_BY') !== 0 && mb_strpos($fieldName, 'DEAL_OWNER.COMPANY_BY.INDUSTRY_BY') !== 0 && mb_strpos($fieldName, 'DEAL_OWNER.COMPANY_BY.EMPLOYEES_BY') !== 0) { $v = GetMessage('CRM_DEAL_COMPANY_NOT_ASSIGNED'); } } elseif(!$aggr && $fieldName === 'DEAL_OWNER.COMPANY_BY.TITLE') { if($isHtml && self::$CURRENT_RESULT_ROW && isset(self::$CURRENT_RESULT_ROW['CRM_PRODUCT_ROW_DEAL_OWNER_COMPANY_BY_ID'])) { $v = self::prepareCompanyTitleHtml(self::$CURRENT_RESULT_ROW['CRM_PRODUCT_ROW_DEAL_OWNER_COMPANY_BY_ID'], $v); } } elseif(!$aggr && $fieldName === 'DEAL_OWNER.COMPANY_BY.COMPANY_TYPE_BY.STATUS_ID') { if($v !== '') { $v = self::getStatusName($v, 'COMPANY_TYPE', $isHtml); } } elseif(!$aggr && $fieldName === 'DEAL_OWNER.COMPANY_BY.INDUSTRY_BY.STATUS_ID') { if($v !== '') { $v = self::getStatusName($v, 'INDUSTRY', $isHtml); } } elseif(!$aggr && $fieldName === 'DEAL_OWNER.COMPANY_BY.EMPLOYEES_BY.STATUS_ID') { if($v !== '') { $v = self::getStatusName($v, 'EMPLOYEES', $isHtml); } } } elseif(mb_strpos($fieldName, 'DEAL_OWNER.CONTACT_BY.') === 0) { if(!$aggr && ($v === '' || trim($v) === '.')) { if(mb_strpos($fieldName, 'DEAL_OWNER.CONTACT_BY.TYPE_BY') !== 0) { $v = GetMessage('CRM_DEAL_CONTACT_NOT_ASSIGNED'); } } elseif(!$aggr && $fieldName === 'DEAL_OWNER.CONTACT_BY.TYPE_BY.STATUS_ID') { if($v !== '') { $v = self::getStatusName($v, 'CONTACT_TYPE', $isHtml); } } elseif(!$aggr && ($fieldName === 'DEAL_OWNER.CONTACT_BY.NAME' || $fieldName === 'DEAL_OWNER.CONTACT_BY.LAST_NAME' || $fieldName === 'DEAL_OWNER.CONTACT_BY.SECOND_NAME' || $fieldName === 'DEAL_OWNER.CONTACT_BY.ADDRESS')) { if($isHtml && self::$CURRENT_RESULT_ROW && isset(self::$CURRENT_RESULT_ROW['CRM_PRODUCT_ROW_DEAL_OWNER_CONTACT_BY_ID'])) { $v = self::prepareContactTitleHtml( self::$CURRENT_RESULT_ROW['CRM_PRODUCT_ROW_DEAL_OWNER_CONTACT_BY_ID'], $v ); } } } elseif(!$aggr && mb_strpos($fieldName, 'DEAL_OWNER.ASSIGNED_BY.') === 0) { // unset HREF for empty value if (empty($v) || trim($v) === '.' || $v === ' ') unset($row['__HREF_'.$k]); if($v == '' || trim($v) === '.') { $v = GetMessage('CRM_DEAL_RESPONSIBLE_NOT_ASSIGNED'); } elseif($isHtml) { $v = htmlspecialcharsbx($v); } } elseif(!$aggr && mb_strpos($fieldName, 'CP_PRODUCT_NAME') === 0) { static $defaultCatalogID; if(!isset($defaultCatalogID)) { $defaultCatalogID = CCrmCatalog::GetDefaultID(); } if($isHtml) { if($defaultCatalogID > 0 && self::$CURRENT_RESULT_ROW) { $iblockID = isset(self::$CURRENT_RESULT_ROW['CRM_PRODUCT_ROW_IBLOCK_ELEMENT_IBLOCK_ID']) ? intval(self::$CURRENT_RESULT_ROW['CRM_PRODUCT_ROW_IBLOCK_ELEMENT_IBLOCK_ID']) : 0;; $iblockElementID = isset(self::$CURRENT_RESULT_ROW['CRM_PRODUCT_ROW_IBLOCK_ELEMENT_ID']) ? intval(self::$CURRENT_RESULT_ROW['CRM_PRODUCT_ROW_IBLOCK_ELEMENT_ID']) : 0; } else { $iblockID = 0; $iblockElementID = 0; } if($iblockElementID > 0 && $iblockID === $defaultCatalogID) { $v = self::prepareProductNameHtml($iblockElementID, $v); } else { $v = htmlspecialcharsbx($v); } } } else { parent::formatResultValue($k, $v, $row, $cInfo, $total, $customChartValue); } }