} } unset($arDocState); if (!$isInExportMode) { $arLead['BIZPROC_STATUS_HINT'] = '<span class=\'bizproc-item-title\'>' . GetMessage('CRM_BP_R_P') . ': <a href=\'' . $arLead['PATH_TO_BIZPROC_LIST'] . '\' title=\'' . GetMessage('CRM_BP_R_P_TITLE') . '\'>' . $docStatesQty . '</a></span>' . ($totalTaskQty === 0 ? '' : '<br /><span class=\'bizproc-item-title\'>' . GetMessage('CRM_TASKS') . ': <a href=\'' . $arLead['PATH_TO_USER_BP'] . '\' title=\'' . GetMessage('CRM_TASKS_TITLE') . '\'>' . $totalTaskQty . ($totalTaskQty > 5 ? '+' : '') . '</a></span>'); } } } $arLead['ASSIGNED_BY_ID'] = $arLead['~ASSIGNED_BY_ID'] = intval($arLead['ASSIGNED_BY']); $arLead['ASSIGNED_BY'] = CUser::FormatName($arParams['NAME_TEMPLATE'], array('LOGIN' => $arLead['ASSIGNED_BY_LOGIN'], 'NAME' => $arLead['ASSIGNED_BY_NAME'], 'LAST_NAME' => $arLead['ASSIGNED_BY_LAST_NAME'], 'SECOND_NAME' => $arLead['ASSIGNED_BY_SECOND_NAME']), true, false); if (isset($arSelectMap['FULL_ADDRESS'])) { $arLead['FULL_ADDRESS'] = LeadAddressFormatter::format($arLead, array('SEPARATOR' => AddressSeparator::HtmlLineBreak, 'NL2BR' => true)); } } unset($arLead); $CCrmUserType->ListAddEnumFieldsValue($arResult, $arResult['LEAD'], $arResult['LEAD_UF'], $sExportType !== '' ? ', ' : '<br />', $sExportType !== '', array('FILE_URL_TEMPLATE' => '/bitrix/components/bitrix/crm.lead.show/show_file.php?ownerId=#owner_id#&fieldName=#field_name#&fileId=#file_id#')); if (isset($arResult['LEAD_ID']) && !empty($arResult['LEAD_ID'])) { // try to load product rows $arProductRows = CCrmLead::LoadProductRows(array_keys($arResult['LEAD_ID'])); foreach ($arProductRows as $arProductRow) { $ownerID = $arProductRow['OWNER_ID']; if (!isset($arResult['LEAD'][$ownerID])) { continue; } $arEntity =& $arResult['LEAD'][$ownerID]; if (!isset($arEntity['PRODUCT_ROWS'])) { $arEntity['PRODUCT_ROWS'] = array(); } $arEntity['PRODUCT_ROWS'][] = $arProductRow; } // adding crm multi field to result array
if (!$isInExportMode) { $arContact['BIZPROC_STATUS_HINT'] = '<span class=\'bizproc-item-title\'>' . GetMessage('CRM_BP_R_P') . ': <a href=\'' . $arContact['PATH_TO_BIZPROC_LIST'] . '\' title=\'' . GetMessage('CRM_BP_R_P_TITLE') . '\'>' . $docStatesQty . '</a></span>' . ($totalTaskQty === 0 ? '' : '<br /><span class=\'bizproc-item-title\'>' . GetMessage('CRM_TASKS') . ': <a href=\'' . $arContact['PATH_TO_USER_BP'] . '\' title=\'' . GetMessage('CRM_TASKS_TITLE') . '\'>' . $totalTaskQty . ($totalTaskQty > 5 ? '+' : '') . '</a></span>'); } } } $arContact['ASSIGNED_BY_ID'] = $arContact['~ASSIGNED_BY_ID'] = intval($arContact['ASSIGNED_BY']); $arContact['ASSIGNED_BY'] = CUser::FormatName($arParams['NAME_TEMPLATE'], array('LOGIN' => $arContact['ASSIGNED_BY_LOGIN'], 'NAME' => $arContact['ASSIGNED_BY_NAME'], 'LAST_NAME' => $arContact['ASSIGNED_BY_LAST_NAME'], 'SECOND_NAME' => $arContact['ASSIGNED_BY_SECOND_NAME']), true, false); if (isset($arSelectMap['FULL_ADDRESS'])) { $arContact['FULL_ADDRESS'] = ContactAddressFormatter::format($arContact, array('SEPARATOR' => AddressSeparator::HtmlLineBreak, 'NL2BR' => true)); } $arResult['CONTACT'][$arContact['ID']] = $arContact; $arResult['CONTACT_UF'][$arContact['ID']] = array(); $arResult['CONTACT_ID'][$arContact['ID']] = $arContact['ID']; } unset($arContact); $CCrmUserType->ListAddEnumFieldsValue($arResult, $arResult['CONTACT'], $arResult['CONTACT_UF'], $isInExportMode ? ', ' : '<br />', $isInExportMode, array('FILE_URL_TEMPLATE' => '/bitrix/components/bitrix/crm.contact.show/show_file.php?ownerId=#owner_id#&fieldName=#field_name#&fileId=#file_id#')); $arResult['ENABLE_TOOLBAR'] = isset($arParams['ENABLE_TOOLBAR']) ? $arParams['ENABLE_TOOLBAR'] : false; if ($arResult['ENABLE_TOOLBAR']) { $arResult['PATH_TO_CONTACT_ADD'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_CONTACT_EDIT'], array('contact_id' => 0)); $addParams = array(); if ($bInternal && isset($arParams['INTERNAL_CONTEXT']) && is_array($arParams['INTERNAL_CONTEXT'])) { $internalContext = $arParams['INTERNAL_CONTEXT']; if (isset($internalContext['COMPANY_ID'])) { $addParams['company_id'] = $internalContext['COMPANY_ID']; } } if (!empty($addParams)) { $arResult['PATH_TO_CONTACT_ADD'] = CHTTP::urlAddParams($arResult['PATH_TO_CONTACT_ADD'], $addParams); } } // adding crm multi field to result array
$arParams['PATH_TO_LEAD_CONVERT'] = CrmCheckPath('PATH_TO_LEAD_CONVERT', $arParams['PATH_TO_LEAD_CONVERT'], $APPLICATION->GetCurPage() . '?lead_id=#lead_id#&convert'); global $USER_FIELD_MANAGER; $CCrmUserType = new CCrmUserType($USER_FIELD_MANAGER, CCrmLead::$sUFEntityID); $arParams['ELEMENT_ID'] = (int) $arParams['ELEMENT_ID']; $obFields = CCrmLead::GetListEx(array(), array('=ID' => $arParams['ELEMENT_ID'], 'CHECK_PERMISSIONS' => 'N'), false, false, array('*', 'UF_*')); $arLead = $arFields = is_object($obFields) ? $obFields->GetNext() : false; if ($arLead === false) { LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_LEAD_LIST'], array())); } foreach ($arFields as $key => $value) { if (isset($arFields['~' . $key])) { $arFields[$key] = $arFields['~' . $key]; } } $arFieldsReplace = array(); $CCrmUserType->ListAddEnumFieldsValue($arFields, $arFieldsReplace, $arFields['ID']); $CCrmUserType->PrepareUpdate($arFields); $arResult['ELEMENT']['ID'] = $arFields['ID']; $arResult['ELEMENT']['TITLE'] = $arFields['TITLE']; unset($arFields['ID']); if ($arFields['STATUS_ID'] == 'CONVERTED') { LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_LEAD_LIST'], array())); } $arResult['ELEMENT']['CONTACT'] = $arFields; // associate custom fields leads and contacts $arUFLead = $GLOBALS['USER_FIELD_MANAGER']->GetUserFields('CRM_LEAD', 0, LANGUAGE_ID); $arUFContact = $GLOBALS['USER_FIELD_MANAGER']->GetUserFields('CRM_CONTACT', 0, LANGUAGE_ID); foreach ($arUFLead as $_arUfLead) { foreach ($arUFContact as $_arUFContact) { if ($_arUfLead['USER_TYPE_ID'] == $_arUFContact['USER_TYPE_ID'] && strtolower(trim($_arUfLead['EDIT_FORM_LABEL'])) == strtolower(trim($_arUFContact['EDIT_FORM_LABEL']))) { $arResult['ELEMENT']['CONTACT'][$_arUFContact['FIELD_NAME']] = $arFields[$_arUfLead['FIELD_NAME']];