%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/components/bitrix/system.field.view/templates/crm/ |
Current File : /home/bitrix/www/bitrix/components/bitrix/system.field.view/templates/crm/result_modifier.php |
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); if (is_array($arResult['VALUE']) && count($arResult['VALUE']) > 0) { if(!CModule::IncludeModule("crm")) return; $arParams['ENTITY_TYPE'] = Array(); if ($arParams['arUserField']['SETTINGS']['LEAD'] == 'Y') $arParams['ENTITY_TYPE'][] = 'LEAD'; if ($arParams['arUserField']['SETTINGS']['CONTACT'] == 'Y') $arParams['ENTITY_TYPE'][] = 'CONTACT'; if ($arParams['arUserField']['SETTINGS']['COMPANY'] == 'Y') $arParams['ENTITY_TYPE'][] = 'COMPANY'; if ($arParams['arUserField']['SETTINGS']['DEAL'] == 'Y') $arParams['ENTITY_TYPE'][] = 'DEAL'; if ($arParams['arUserField']['SETTINGS']['ORDER'] == 'Y') $arParams['ENTITY_TYPE'][] = 'ORDER'; $arParams['PREFIX'] = false; if (count($arParams['ENTITY_TYPE']) > 1) $arParams['PREFIX'] = true; if(!empty($arParams['usePrefix'])) $arResult['PREFIX'] = 'Y'; $arValue = Array(); foreach ($arResult['VALUE'] as $value) { if (is_numeric($value)) $arValue[$arParams['ENTITY_TYPE'][0]][] = $value; else { $ar = explode('_', $value); $arValue[CUserTypeCrm::GetLongEntityType($ar[0])][] = intval($ar[1]); } } $arResult['VALUE'] = Array(); if ($arParams['arUserField']['SETTINGS']['LEAD'] == 'Y' && isset($arValue['LEAD']) && !empty($arValue['LEAD'])) { $dbRes = CCrmLead::GetListEx( array('TITLE' => 'ASC'), array('=ID' => $arValue['LEAD']), false, false, array('ID', 'TITLE') ); while ($arRes = $dbRes->Fetch()) { $arResult['VALUE']['LEAD'][$arRes['ID']] = Array( 'ENTITY_TITLE' => $arRes['TITLE'], 'ENTITY_LINK' => CComponentEngine::MakePathFromTemplate(COption::GetOptionString('crm', 'path_to_lead_show'), array('lead_id' => $arRes['ID'])) ); } } if ($arParams['arUserField']['SETTINGS']['CONTACT'] == 'Y' && isset($arValue['CONTACT']) && !empty($arValue['CONTACT'])) { $hasNameFormatter = method_exists("CCrmContact", "PrepareFormattedName"); $dbRes = CCrmContact::GetListEx( array('LAST_NAME'=>'ASC', 'NAME' => 'ASC'), array('=ID' => $arValue['CONTACT']), false, false, $hasNameFormatter ? array('ID', 'HONORIFIC', 'NAME', 'SECOND_NAME', 'LAST_NAME') : array('ID', 'FULL_NAME') ); while ($arRes = $dbRes->Fetch()) { if($hasNameFormatter) { $title = CCrmContact::PrepareFormattedName( array( 'HONORIFIC' => isset($arRes['HONORIFIC']) ? $arRes['HONORIFIC'] : '', 'NAME' => isset($arRes['NAME']) ? $arRes['NAME'] : '', 'SECOND_NAME' => isset($arRes['SECOND_NAME']) ? $arRes['SECOND_NAME'] : '', 'LAST_NAME' => isset($arRes['LAST_NAME']) ? $arRes['LAST_NAME'] : '' ) ); } else { $title = isset($arRes['FULL_NAME']) ? $arRes['FULL_NAME'] : ''; } $arResult['VALUE']['CONTACT'][$arRes['ID']] = Array( 'ENTITY_TITLE' => $title, 'ENTITY_LINK' => CComponentEngine::MakePathFromTemplate(COption::GetOptionString('crm', 'path_to_contact_show'), array('contact_id' => $arRes['ID'])) ); } } if ($arParams['arUserField']['SETTINGS']['COMPANY'] == 'Y' && isset($arValue['COMPANY']) && !empty($arValue['COMPANY'])) { $dbRes = CCrmCompany::GetListEx(array('TITLE'=>'ASC'), array('ID' => $arValue['COMPANY'])); while ($arRes = $dbRes->Fetch()) { $arResult['VALUE']['COMPANY'][$arRes['ID']] = Array( 'ENTITY_TITLE' => $arRes['TITLE'], 'ENTITY_LINK' => CComponentEngine::MakePathFromTemplate(COption::GetOptionString('crm', 'path_to_company_show'), array('company_id' => $arRes['ID'])) ); } } if ($arParams['arUserField']['SETTINGS']['DEAL'] == 'Y' && isset($arValue['DEAL']) && !empty($arValue['DEAL'])) { $dbRes = CCrmDeal::GetListEx(array('TITLE'=>'ASC'), array('ID' => $arValue['DEAL'])); while ($arRes = $dbRes->Fetch()) { $arResult['VALUE']['DEAL'][$arRes['ID']] = Array( 'ENTITY_TITLE' => $arRes['TITLE'], 'ENTITY_LINK' => CComponentEngine::MakePathFromTemplate(COption::GetOptionString('crm', 'path_to_deal_show'), array('deal_id' => $arRes['ID'])) ); } } if ($arParams['arUserField']['SETTINGS']['ORDER'] == 'Y' && isset($arValue['ORDER']) && !empty($arValue['ORDER'])) { $resultDB = \Bitrix\Crm\Order\Order::getList(array( 'filter' => array('=ID' => $arValue['ORDER']), 'select' => array('ID', 'ACCOUNT_NUMBER'), 'order' => array('ID' => 'DESC') )); while ($order = $resultDB->fetch()) { $arResult['VALUE']['ORDER'][$order['ID']] = array( 'ENTITY_TITLE' => $order['ACCOUNT_NUMBER'], 'ENTITY_LINK' => CComponentEngine::MakePathFromTemplate(COption::GetOptionString('crm', 'path_to_order_details'), array('order_id' => $order['ID'])) ); } } } ?>