Ejemplo n.º 1
0
                }
            }
            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
Ejemplo n.º 2
0
            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
Ejemplo n.º 3
0
$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']];