<div class="bx-user-info-data-name"> <a href="' . $arDeal['PATH_TO_DEAL_SHOW'] . '">' . htmlspecialcharsbx($arDeal['TITLE']) . '</a> </div> <div class="bx-user-info-data-info">'; if (!empty($arDeal['STAGE_ID'])) { $strCard .= '<span class="field-name">' . GetMessage('CRM_COLUMN_STAGE_ID') . '</span>: <span class="fields enumeration">' . $arResult['STAGE_LIST'][$arDeal['STAGE_ID']] . '</span> <br />'; } $arProductRows = CCrmDeal::LoadProductRows($arDeal['ID']); if (count($arProductRows) > 0) { $strCard .= '<span class="field-name">' . GetMessage('CRM_COLUMN_PRODUCTS') . '</span>:<span class="fields enumeration">' . htmlspecialcharsbx(CCrmProductRow::RowsToString($arProductRows)) . '</span><br />'; } if (!empty($arDeal['OPPORTUNITY'])) { $strCard .= '<span class="field-name">' . GetMessage('CRM_COLUMN_OPPORTUNITY') . '</span>: <span class="fields enumeration"><nobr>' . number_format($arDeal['OPPORTUNITY'], 2, ',', ' ') . ' ' . htmlspecialcharsbx(CCrmCurrency::GetCurrencyName($arDeal['CURRENCY_ID'])) . '</nobr></span> <br />'; } if (!empty($arDeal['PROBABILITY'])) { $strCard .= '<span class="field-name">' . GetMessage('CRM_COLUMN_PROBABILITY') . '</span>: <span class="fields enumeration">' . intval($arDeal['PROBABILITY']) . '%</span> <br />'; } $strCard .= '<span class="field-name">' . GetMessage('CRM_COLUMN_DATE_MODIFY') . '</span>: <span class="fields enumeration">' . FormatDate('x', MakeTimeStamp($arDeal['DATE_MODIFY']), time() + CTimeZone::GetOffset()) . '</span> <br /> <br />'; if (!empty($arDeal['COMPANY_TITLE'])) { $strCard .= '<span class="field-name">' . htmlspecialcharsbx(GetMessage('CRM_COLUMN_COMPANY_TITLE')) . '</span>: <a href="' . $arDeal['PATH_TO_COMPANY_SHOW'] . '">' . $arDeal['COMPANY_TITLE'] . '</a> <br />';
private function MapField(&$entityInfo, $fieldName) { $result = ''; $typeID = isset($entityInfo['TYPE_ID']) ? intval($entityInfo['TYPE_ID']) : CCrmOwnerType::Undefined; $fields = isset($entityInfo['FIELDS']) ? $entityInfo['FIELDS'] : array(); $isHtml = $this->contentType === CCrmContentType::Html; $isBBCode = $this->contentType === CCrmContentType::BBCode; $isPlainText = $this->contentType === CCrmContentType::PlainText; if ($typeID === CCrmOwnerType::Lead) { switch ($fieldName) { case 'ID': $result = isset($fields[$fieldName]) ? intval($fields[$fieldName]) : 0; break; case 'NAME': case 'SECOND_NAME': case 'LAST_NAME': case 'TITLE': case 'COMPANY_TITLE': case 'SOURCE_DESCRIPTION': case 'STATUS_DESCRIPTION': case 'POST': case 'ADDRESS': $result = self::MapFieldValue($fields, $fieldName, $isHtml); break; case 'COMMENTS': if ($isBBCode) { $result = self::MapHtmlFieldAsBbCode($fields, 'COMMENTS'); } elseif ($isPlainText) { $result = self::MapHtmlFieldAsPlainText($fields, 'COMMENTS'); } else { $result = self::MapFieldValue($fields, $fieldName, false); } break; case 'SOURCE': $result = self::MapReferenceValue(self::PrepareSources(), $fields, 'SOURCE_ID', $isHtml); break; case 'STATUS': $result = self::MapReferenceValue(self::PrepareLeadStatuses(), $fields, 'STATUS_ID', $isHtml); break; case 'FORMATTED_NAME': $result = CUser::FormatName(\Bitrix\Crm\Format\PersonNameFormatter::getFormat(), array('LOGIN' => '', 'NAME' => isset($fields['NAME']) ? $fields['NAME'] : '', 'SECOND_NAME' => isset($fields['SECOND_NAME']) ? $fields['SECOND_NAME'] : '', 'LAST_NAME' => isset($fields['LAST_NAME']) ? $fields['LAST_NAME'] : ''), false, $isHtml); break; case 'ASSIGNED_BY_FULL_NAME': $result = CCrmViewHelper::GetFormattedUserName(isset($fields['ASSIGNED_BY_ID']) ? $fields['ASSIGNED_BY_ID'] : 0, '', $isHtml); break; case 'CREATED_BY_FULL_NAME': $result = CCrmViewHelper::GetFormattedUserName(isset($fields['CREATED_BY_ID']) ? $fields['CREATED_BY_ID'] : 0, '', $isHtml); break; case 'MODIFY_BY_FULL_NAME': $result = CCrmViewHelper::GetFormattedUserName(isset($fields['MODIFY_BY_ID']) ? $fields['MODIFY_BY_ID'] : 0, '', $isHtml); break; case 'DATE_CREATE': $result = isset($fields['DATE_CREATE']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_CREATE'])) : ''; break; case 'DATE_MODIFY': $result = isset($fields['DATE_MODIFY']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_MODIFY'])) : ''; break; case 'CURRENCY': $result = isset($fields['CURRENCY_ID']) ? CCrmCurrency::GetCurrencyName($fields['CURRENCY_ID']) : ''; break; case 'OPPORTUNITY': $result = isset($fields['OPPORTUNITY']) ? $fields['OPPORTUNITY'] : 0.0; break; case 'OPPORTUNITY_FORMATTED': $result = CCrmCurrency::MoneyToString(isset($fields['OPPORTUNITY']) ? $fields['OPPORTUNITY'] : 0.0, isset($fields['CURRENCY_ID']) ? $fields['CURRENCY_ID'] : ''); break; } } elseif ($typeID === CCrmOwnerType::Deal) { switch ($fieldName) { case 'ID': $result = isset($fields[$fieldName]) ? intval($fields[$fieldName]) : 0; break; case 'TITLE': $result = self::MapFieldValue($fields, 'TITLE', $isHtml); break; case 'COMMENTS': if ($isBBCode) { $result = self::MapHtmlFieldAsBbCode($fields, 'COMMENTS'); } elseif ($isPlainText) { $result = self::MapHtmlFieldAsPlainText($fields, 'COMMENTS'); } else { $result = self::MapFieldValue($fields, $fieldName, false); } break; case 'TYPE': $result = self::MapReferenceValue(self::PrepareDealTypes(), $fields, 'TYPE_ID', $isHtml); break; case 'STAGE': $result = self::MapReferenceValue(self::PrepareDealStages(), $fields, 'STAGE_ID', $isHtml); break; case 'PROBABILITY': $result = (isset($fields[$fieldName]) ? intval($fields[$fieldName]) : 0) . ' %'; break; case 'BEGINDATE': $result = isset($fields['BEGINDATE']) ? FormatDate('SHORT', MakeTimeStamp($fields['BEGINDATE'])) : ''; break; case 'CLOSEDATE': $result = isset($fields['CLOSEDATE']) ? FormatDate('SHORT', MakeTimeStamp($fields['CLOSEDATE'])) : ''; break; case 'ASSIGNED_BY_FULL_NAME': $result = CCrmViewHelper::GetFormattedUserName(isset($fields['ASSIGNED_BY_ID']) ? $fields['ASSIGNED_BY_ID'] : 0, '', $isHtml); break; case 'CREATED_BY_FULL_NAME': $result = CCrmViewHelper::GetFormattedUserName(isset($fields['CREATED_BY_ID']) ? $fields['CREATED_BY_ID'] : 0, '', $isHtml); break; case 'MODIFY_BY_FULL_NAME': $result = CCrmViewHelper::GetFormattedUserName(isset($fields['MODIFY_BY_ID']) ? $fields['MODIFY_BY_ID'] : 0, '', $isHtml); break; case 'DATE_CREATE': $result = isset($fields['DATE_CREATE']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_CREATE'])) : ''; break; case 'DATE_MODIFY': $result = isset($fields['DATE_MODIFY']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_MODIFY'])) : ''; break; case 'CURRENCY': $result = isset($fields['CURRENCY_ID']) ? CCrmCurrency::GetCurrencyName($fields['CURRENCY_ID']) : ''; break; case 'OPPORTUNITY': $result = isset($fields['OPPORTUNITY']) ? $fields['OPPORTUNITY'] : 0.0; break; case 'OPPORTUNITY_FORMATTED': $result = CCrmCurrency::MoneyToString(isset($fields['OPPORTUNITY']) ? $fields['OPPORTUNITY'] : 0.0, isset($fields['CURRENCY_ID']) ? $fields['CURRENCY_ID'] : ''); break; case 'COMPANY': $result = self::ResolveEntityInfo(CCrmOwnerType::Company, isset($fields['COMPANY_ID']) ? intval($fields['COMPANY_ID']) : 0); break; case 'CONTACT': $result = self::ResolveEntityInfo(CCrmOwnerType::Contact, isset($fields['CONTACT_ID']) ? intval($fields['CONTACT_ID']) : 0); break; } } elseif ($typeID === CCrmOwnerType::Contact) { switch ($fieldName) { case 'ID': $result = isset($fields[$fieldName]) ? intval($fields[$fieldName]) : 0; break; case 'NAME': case 'SECOND_NAME': case 'LAST_NAME': case 'POST': case 'ADDRESS': case 'SOURCE_DESCRIPTION': $result = self::MapFieldValue($fields, $fieldName, $isHtml); break; case 'COMMENTS': if ($isBBCode) { $result = self::MapHtmlFieldAsBbCode($fields, 'COMMENTS'); } elseif ($isPlainText) { $result = self::MapHtmlFieldAsPlainText($fields, 'COMMENTS'); } else { $result = self::MapFieldValue($fields, $fieldName, false); } break; case 'FORMATTED_NAME': $result = CUser::FormatName(\Bitrix\Crm\Format\PersonNameFormatter::getFormat(), array('LOGIN' => '', 'NAME' => isset($fields['NAME']) ? $fields['NAME'] : '', 'SECOND_NAME' => isset($fields['SECOND_NAME']) ? $fields['SECOND_NAME'] : '', 'LAST_NAME' => isset($fields['LAST_NAME']) ? $fields['LAST_NAME'] : ''), false, $isHtml); break; case 'SOURCE': $result = self::MapReferenceValue(self::PrepareSources(), $fields, 'SOURCE_ID', $isHtml); break; case 'TYPE': $result = self::MapReferenceValue(self::PrepareContactTypes(), $fields, 'TYPE_ID', $isHtml); break; case 'COMPANY': $result = self::ResolveEntityInfo(CCrmOwnerType::Company, isset($fields['COMPANY_ID']) ? intval($fields['COMPANY_ID']) : 0); break; case 'ASSIGNED_BY_FULL_NAME': $result = CCrmViewHelper::GetFormattedUserName(isset($fields['ASSIGNED_BY_ID']) ? $fields['ASSIGNED_BY_ID'] : 0, '', $isHtml); break; case 'CREATED_BY_FULL_NAME': $result = CCrmViewHelper::GetFormattedUserName(isset($fields['CREATED_BY_ID']) ? $fields['CREATED_BY_ID'] : 0, '', $isHtml); break; case 'MODIFY_BY_FULL_NAME': $result = CCrmViewHelper::GetFormattedUserName(isset($fields['MODIFY_BY_ID']) ? $fields['MODIFY_BY_ID'] : 0, '', $isHtml); break; case 'DATE_CREATE': $result = isset($fields['DATE_CREATE']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_CREATE'])) : ''; break; case 'DATE_MODIFY': $result = isset($fields['DATE_MODIFY']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_MODIFY'])) : ''; break; } } elseif ($typeID === CCrmOwnerType::Company) { switch ($fieldName) { case 'ID': $result = isset($fields[$fieldName]) ? intval($fields[$fieldName]) : 0; break; case 'TITLE': case 'COMPANY_TITLE': case 'SOURCE_DESCRIPTION': case 'ADDRESS': case 'ADDRESS_LEGAL': case 'BANKING_DETAILS': $result = self::MapFieldValue($fields, $fieldName, $isHtml); break; case 'COMMENTS': if ($isBBCode) { $result = self::MapHtmlFieldAsBbCode($fields, 'COMMENTS'); } elseif ($isPlainText) { $result = self::MapHtmlFieldAsPlainText($fields, 'COMMENTS'); } else { $result = self::MapFieldValue($fields, $fieldName, false); } break; case 'COMPANY_TYPE': case 'TYPE': $result = self::MapReferenceValue(self::PrepareCompanyTypes(), $fields, 'COMPANY_TYPE', $isHtml); break; case 'INDUSTRY': $result = self::MapReferenceValue(self::PrepareIndustries(), $fields, 'INDUSTRY', $isHtml); break; case 'EMPLOYEES': $result = self::MapReferenceValue(self::PrepareEmployees(), $fields, 'EMPLOYEES', $isHtml); break; case 'CURRENCY': $result = isset($fields['CURRENCY_ID']) ? CCrmCurrency::GetCurrencyName($fields['CURRENCY_ID']) : ''; break; case 'REVENUE': $result = isset($fields['REVENUE']) ? $fields['REVENUE'] : 0.0; break; case 'REVENUE_FORMATTED': $result = CCrmCurrency::MoneyToString(isset($fields['REVENUE']) ? $fields['REVENUE'] : 0.0, isset($fields['CURRENCY_ID']) ? $fields['CURRENCY_ID'] : ''); break; case 'ASSIGNED_BY_FULL_NAME': $result = CCrmViewHelper::GetFormattedUserName(isset($fields['ASSIGNED_BY_ID']) ? $fields['ASSIGNED_BY_ID'] : 0, '', $isHtml); break; case 'CREATED_BY_FULL_NAME': $result = CCrmViewHelper::GetFormattedUserName(isset($fields['CREATED_BY_ID']) ? $fields['CREATED_BY_ID'] : 0, '', $isHtml); break; case 'MODIFY_BY_FULL_NAME': $result = CCrmViewHelper::GetFormattedUserName(isset($fields['MODIFY_BY_ID']) ? $fields['MODIFY_BY_ID'] : 0, '', $isHtml); break; case 'DATE_CREATE': $result = isset($fields['DATE_CREATE']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_CREATE'])) : ''; break; case 'DATE_MODIFY': $result = isset($fields['DATE_MODIFY']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_MODIFY'])) : ''; break; } } return $result; }
continue; } $headerID = $arHead['id']; $result = ''; switch ($headerID) { case 'COMPANY_TYPE': $result = $arResult['COMPANY_TYPE_LIST'][$arCompany['COMPANY_TYPE']]; break; case 'EMPLOYEES': $result = $arResult['EMPLOYEES_LIST'][$arCompany['EMPLOYEES']]; break; case 'INDUSTRY': $result = $arResult['INDUSTRY_LIST'][$arCompany['INDUSTRY']]; break; case 'CURRENCY_ID': $result = CCrmCurrency::GetCurrencyName($arCompany['CURRENCY_ID']); break; case 'CREATED_BY': $result = $arCompany['CREATED_BY_FORMATTED_NAME']; break; case 'MODIFY_BY': $result = $arCompany['MODIFY_BY_FORMATTED_NAME']; break; default: if (isset($arResult['COMPANY_UF'][$i]) && isset($arResult['COMPANY_UF'][$i][$headerID])) { $result = $arResult['COMPANY_UF'][$i][$headerID]; } elseif (is_array($arCompany[$headerID])) { $result = implode(', ', $arCompany[$headerID]); } else { $result = strval($arCompany[$headerID]); }
$bSep = false; if ($arResult['PERMS']['ADD'] && $arLead['STATUS_ID'] != 'CONVERTED') { if ($arResult['CONVERT']) { $bSep = true; $arActions[] = array('SEPARATOR' => true); $arActions[] = array('ICONCLASS' => 'convert', 'TITLE' => GetMessage('CRM_LEAD_CONVERT_TITLE'), 'TEXT' => GetMessage('CRM_LEAD_CONVERT'), 'ONCLICK' => "jsUtils.Redirect([], '" . CUtil::JSEscape($arLead['PATH_TO_LEAD_CONVERT']) . "');"); } } } if ($arLead['DELETE']) { if (!$bSep) { $arActions[] = array('SEPARATOR' => true); } $arActions[] = array('ICONCLASS' => 'delete', 'TITLE' => GetMessage('CRM_LEAD_DELETE_TITLE'), 'TEXT' => GetMessage('CRM_LEAD_DELETE'), 'ONCLICK' => "crm_lead_delete_grid('" . CUtil::JSEscape(GetMessage('CRM_LEAD_DELETE_TITLE')) . "', '" . CUtil::JSEscape(GetMessage('CRM_LEAD_DELETE_CONFIRM')) . "', '" . CUtil::JSEscape(GetMessage('CRM_LEAD_DELETE')) . "', '" . CUtil::JSEscape($arLead['PATH_TO_LEAD_DELETE']) . "')"); } $resultItem = array('id' => $arLead['ID'], 'actions' => $arActions, 'data' => $arLead, 'editable' => !$arLead['EDIT'] ? $arColumns : true, 'columns' => array('LEAD_SUMMARY' => CCrmViewHelper::RenderInfo($arLead['PATH_TO_LEAD_SHOW'], isset($arLead['TITLE']) ? $arLead['TITLE'] : '[' . $arLead['ID'] . ']', $arLead['LEAD_SOURCE_NAME'], '_self'), 'ACTIVITY_ID' => CCrmViewHelper::RenderNearestActivity(array('ENTITY_TYPE_NAME' => CCrmOwnerType::ResolveName(CCrmOwnerType::Lead), 'ENTITY_ID' => $arLead['ID'], 'GRID_MANAGER_ID' => $gridManagerID, 'ACTIVITY_ID' => isset($arLead['~ACTIVITY_ID']) ? intval($arLead['~ACTIVITY_ID']) : 0, 'ACTIVITY_SUBJECT' => isset($arLead['~ACTIVITY_SUBJECT']) ? $arLead['~ACTIVITY_SUBJECT'] : '', 'ACTIVITY_TIME' => isset($arLead['~ACTIVITY_TIME']) ? $arLead['~ACTIVITY_TIME'] : '', 'ACTIVITY_EXPIRED' => isset($arLead['~ACTIVITY_EXPIRED']) ? $arLead['~ACTIVITY_EXPIRED'] : false, 'MENU_ITEMS' => $arActivityMenuItems)), 'COMMENTS' => htmlspecialcharsback($arLead['COMMENTS']), 'ADDRESS' => nl2br($arLead['ADDRESS']), 'ASSIGNED_BY' => $arLead['~ASSIGNED_BY'] > 0 ? '<a href="' . $arLead['PATH_TO_USER_PROFILE'] . '" id="balloon_' . $arResult['GRID_ID'] . '_' . $arLead['ID'] . '">' . $arLead['ASSIGNED_BY'] . '</a>' . '<script type="text/javascript">BX.tooltip(' . $arLead['~ASSIGNED_BY'] . ', "balloon_' . $arResult['GRID_ID'] . '_' . $arLead['ID'] . '", "");</script>' : '', 'STATUS_DESCRIPTION' => nl2br($arLead['STATUS_DESCRIPTION']), 'SOURCE_DESCRIPTION' => nl2br($arLead['SOURCE_DESCRIPTION']), 'DATE_CREATE' => '<nobr>' . FormatDate('SHORT', MakeTimeStamp($arLead['DATE_CREATE'])) . '</nobr>', 'DATE_MODIFY' => '<nobr>' . FormatDate('SHORT', MakeTimeStamp($arLead['DATE_MODIFY'])) . '</nobr>', 'SUM' => '<nobr>' . $arLead['FORMATTED_OPPORTUNITY'] . '</nobr>', 'OPPORTUNITY' => '<nobr>' . $arLead['~OPPORTUNITY'] . '</nobr>', 'CURRENCY_ID' => CCrmCurrency::GetCurrencyName($arLead['~CURRENCY_ID']), 'PRODUCT_ID' => isset($arLead['PRODUCT_ROWS']) ? htmlspecialcharsbx(CCrmProductRow::RowsToString($arLead['PRODUCT_ROWS'])) : '', 'STATUS_ID' => CCrmViewHelper::RenderLeadStatusControl(array('PREFIX' => "{$arResult['GRID_ID']}_PROGRESS_BAR_", 'ENTITY_ID' => $arLead['~ID'], 'CURRENT_ID' => $arLead['~STATUS_ID'], 'SERVICE_URL' => '/bitrix/components/bitrix/crm.lead.list/list.ajax.php', 'LEAD_CONVERT_URL' => $arLead['PATH_TO_LEAD_CONVERT'], 'READ_ONLY' => !(isset($arLead['EDIT']) && $arLead['EDIT'] === true))), 'SOURCE_ID' => $arLead['LEAD_SOURCE_NAME'], 'CREATED_BY' => $arLead['~CREATED_BY'] > 0 ? '<a href="' . $arLead['PATH_TO_USER_CREATOR'] . '" id="balloon_' . $arResult['GRID_ID'] . '_' . $arLead['ID'] . '">' . $arLead['CREATED_BY_FORMATTED_NAME'] . '</a>' . '<script type="text/javascript">BX.tooltip(' . $arLead['~CREATED_BY'] . ', "balloon_' . $arResult['GRID_ID'] . '_' . $arLead['ID'] . '", "");</script>' : '', 'MODIFY_BY' => $arLead['~MODIFY_BY'] > 0 ? '<a href="' . $arLead['PATH_TO_USER_MODIFIER'] . '" id="balloon_' . $arResult['GRID_ID'] . '_' . $arLead['ID'] . '">' . $arLead['MODIFY_BY_FORMATTED_NAME'] . '</a>' . '<script type="text/javascript">BX.tooltip(' . $arLead['~MODIFY_BY'] . ', "balloon_' . $arResult['GRID_ID'] . '_' . $arLead['ID'] . '", "");</script>' : '') + CCrmViewHelper::RenderListMultiFields($arLead, "LEAD_{$arLead['ID']}_", array('ENABLE_SIP' => true, 'SIP_PARAMS' => array('ENTITY_TYPE' => 'CRM_' . CCrmOwnerType::LeadName, 'ENTITY_ID' => $arLead['ID']))) + $arResult['LEAD_UF'][$sKey]); if (isset($arLead['~BIRTHDATE'])) { $resultItem['columns']['BIRTHDATE'] = '<nobr>' . FormatDate('SHORT', MakeTimeStamp($arLead['~BIRTHDATE'])) . '</nobr>'; } $userActivityID = isset($arLead['~ACTIVITY_ID']) ? intval($arLead['~ACTIVITY_ID']) : 0; $commonActivityID = isset($arLead['~C_ACTIVITY_ID']) ? intval($arLead['~C_ACTIVITY_ID']) : 0; if ($userActivityID > 0) { $resultItem['columns']['ACTIVITY_ID'] = CCrmViewHelper::RenderNearestActivity(array('ENTITY_TYPE_NAME' => CCrmOwnerType::ResolveName(CCrmOwnerType::Lead), 'ENTITY_ID' => $arLead['~ID'], 'ENTITY_RESPONSIBLE_ID' => $arLead['~ASSIGNED_BY'], 'GRID_MANAGER_ID' => $gridManagerID, 'ACTIVITY_ID' => $userActivityID, 'ACTIVITY_SUBJECT' => isset($arLead['~ACTIVITY_SUBJECT']) ? $arLead['~ACTIVITY_SUBJECT'] : '', 'ACTIVITY_TIME' => isset($arLead['~ACTIVITY_TIME']) ? $arLead['~ACTIVITY_TIME'] : '', 'ACTIVITY_EXPIRED' => isset($arLead['~ACTIVITY_EXPIRED']) ? $arLead['~ACTIVITY_EXPIRED'] : '', 'ALLOW_EDIT' => $arLead['EDIT'], 'MENU_ITEMS' => $arActivityMenuItems)); $counterData = array('CURRENT_USER_ID' => $currentUserID, 'ENTITY' => $arLead, 'ACTIVITY' => array('RESPONSIBLE_ID' => $currentUserID, 'TIME' => isset($arLead['~ACTIVITY_TIME']) ? $arLead['~ACTIVITY_TIME'] : '', 'IS_CURRENT_DAY' => isset($arLead['~ACTIVITY_IS_CURRENT_DAY']) ? $arLead['~ACTIVITY_IS_CURRENT_DAY'] : false)); if (CCrmUserCounter::IsReckoned(CCrmUserCounter::CurrentLeadActivies, $counterData)) { $resultItem['columnClasses'] = array('ACTIVITY_ID' => 'crm-list-deal-today'); } } elseif ($commonActivityID > 0) { $resultItem['columns']['ACTIVITY_ID'] = CCrmViewHelper::RenderNearestActivity(array('ENTITY_TYPE_NAME' => CCrmOwnerType::ResolveName(CCrmOwnerType::Lead), 'ENTITY_ID' => $arLead['~ID'], 'ENTITY_RESPONSIBLE_ID' => $arLead['~ASSIGNED_BY'], 'GRID_MANAGER_ID' => $gridManagerID, 'ACTIVITY_ID' => $commonActivityID, 'ACTIVITY_SUBJECT' => isset($arLead['~C_ACTIVITY_SUBJECT']) ? $arLead['~C_ACTIVITY_SUBJECT'] : '', 'ACTIVITY_TIME' => isset($arLead['~C_ACTIVITY_TIME']) ? $arLead['~C_ACTIVITY_TIME'] : '', 'ACTIVITY_RESPONSIBLE_ID' => isset($arLead['~C_ACTIVITY_RESP_ID']) ? intval($arLead['~C_ACTIVITY_RESP_ID']) : 0, 'ACTIVITY_RESPONSIBLE_LOGIN' => isset($arLead['~C_ACTIVITY_RESP_LOGIN']) ? $arLead['~C_ACTIVITY_RESP_LOGIN'] : '', 'ACTIVITY_RESPONSIBLE_NAME' => isset($arLead['~C_ACTIVITY_RESP_NAME']) ? $arLead['~C_ACTIVITY_RESP_NAME'] : '', 'ACTIVITY_RESPONSIBLE_LAST_NAME' => isset($arLead['~C_ACTIVITY_RESP_LAST_NAME']) ? $arLead['~C_ACTIVITY_RESP_LAST_NAME'] : '', 'ACTIVITY_RESPONSIBLE_SECOND_NAME' => isset($arLead['~C_ACTIVITY_RESP_SECOND_NAME']) ? $arLead['~C_ACTIVITY_RESP_SECOND_NAME'] : '', 'NAME_TEMPLATE' => $arParams['NAME_TEMPLATE'], 'PATH_TO_USER_PROFILE' => $arParams['PATH_TO_USER_PROFILE'], 'ALLOW_EDIT' => $arLead['EDIT'], 'MENU_ITEMS' => $arActivityMenuItems)); } else { $resultItem['columns']['ACTIVITY_ID'] = CCrmViewHelper::RenderNearestActivity(array('ENTITY_TYPE_NAME' => CCrmOwnerType::ResolveName(CCrmOwnerType::Lead), 'ENTITY_ID' => $arLead['~ID'], 'ENTITY_RESPONSIBLE_ID' => $arLead['~ASSIGNED_BY'], 'GRID_MANAGER_ID' => $gridManagerID, 'ALLOW_EDIT' => $arLead['EDIT'], 'MENU_ITEMS' => $arActivityMenuItems));
continue; } $headerID = $arHead['id']; $result = ''; switch ($headerID) { case 'COMPANY_TYPE': $result = isset($arCompany['COMPANY_TYPE']) ? $arResult['COMPANY_TYPE_LIST'][$arCompany['COMPANY_TYPE']] : ''; break; case 'EMPLOYEES': $result = isset($arCompany['EMPLOYEES']) ? $arResult['EMPLOYEES_LIST'][$arCompany['EMPLOYEES']] : ''; break; case 'INDUSTRY': $result = isset($arCompany['INDUSTRY']) ? $arResult['INDUSTRY_LIST'][$arCompany['INDUSTRY']] : ''; break; case 'CURRENCY_ID': $result = isset($arCompany['CURRENCY_ID']) ? CCrmCurrency::GetCurrencyName($arCompany['CURRENCY_ID']) : ''; break; case 'CREATED_BY': $result = isset($arCompany['CREATED_BY_FORMATTED_NAME']) ? $arCompany['CREATED_BY_FORMATTED_NAME'] : ''; break; case 'MODIFY_BY': $result = isset($arCompany['MODIFY_BY_FORMATTED_NAME']) ? $arCompany['MODIFY_BY_FORMATTED_NAME'] : ''; break; default: if (isset($arResult['COMPANY_UF'][$i]) && isset($arResult['COMPANY_UF'][$i][$headerID])) { $result = $arResult['COMPANY_UF'][$i][$headerID]; } elseif (is_array($arResult['COMPANY'][$i][$headerID])) { $result = implode(', ', $arCompany[$headerID]); } else { $result = $arCompany[$headerID]; }
} $arResult['FIELDS']['tab_1'][] = array('id' => 'EMPLOYEES', 'name' => GetMessage('CRM_FIELD_EMPLOYEES'), 'type' => 'label', 'value' => $arResult['EMPLOYEES_LIST'][$arResult['ELEMENT']['~EMPLOYEES']], 'isTactile' => true); // <-- EMPLOYEES // REVENUE --> // REVENUE is displayed in sidebar. The field is added for COMPATIBILITY ONLY $currencyID = CCrmCurrency::GetBaseCurrencyID(); if (isset($arResult['ELEMENT']['CURRENCY_ID']) && $arResult['ELEMENT']['CURRENCY_ID'] !== '') { $currencyID = $arResult['ELEMENT']['CURRENCY_ID']; } if ($enableInstantEdit) { $arResult['EDITABLE_FIELDS'][] = 'REVENUE'; } $arResult['FIELDS']['tab_1'][] = array('id' => 'REVENUE', 'name' => GetMessage('CRM_FIELD_REVENUE'), 'value' => isset($arResult['ELEMENT']['REVENUE']) ? CCrmCurrency::MoneyToString($arResult['ELEMENT']['REVENUE'], $currencyID, '#') : '', 'type' => 'custom', 'isTactile' => true); // <-- REVENUE // CURRENCY --> $arResult['FIELDS']['tab_1'][] = array('id' => 'CURRENCY_ID', 'name' => GetMessage('CRM_FIELD_CURRENCY_ID'), 'type' => 'label', 'value' => CCrmCurrency::GetCurrencyName($currencyID), 'isTactile' => true); // <-- CURRENCY // COMMENTS --> if ($enableInstantEdit) { $arResult['EDITABLE_FIELDS'][] = 'COMMENTS'; } $arResult['FIELDS']['tab_1'][] = array('id' => 'COMMENTS', 'name' => GetMessage('CRM_FIELD_COMMENTS'), 'type' => 'custom', 'value' => isset($arResult['ELEMENT']['~COMMENTS']) ? $arResult['ELEMENT']['~COMMENTS'] : '', 'params' => array(), 'isTactile' => true); // <-- COMMENTS // OPENED --> // OPENED is displayed in sidebar. The field is added for COMPATIBILITY ONLY if ($enableInstantEdit) { $arResult['EDITABLE_FIELDS'][] = 'OPENED'; } $arResult['FIELDS']['tab_1'][] = array('id' => 'OPENED', 'name' => GetMessage('CRM_FIELD_OPENED'), 'type' => 'label', 'params' => array(), 'value' => $arResult['ELEMENT']['OPENED'] == 'Y' ? GetMessage('MAIN_YES') : GetMessage('MAIN_NO'), 'isTactile' => true); // <-- OPENED $arResult['FIELDS']['tab_1'][] = array('id' => 'section_contact_info', 'name' => GetMessage('CRM_SECTION_CONTACT_INFO'), 'type' => 'section', 'isTactile' => true);
private function MapField(&$entityInfo, $fieldName) { $result = ''; $typeID = isset($entityInfo['TYPE_ID']) ? intval($entityInfo['TYPE_ID']) : CCrmOwnerType::Undefined; $fields = isset($entityInfo['FIELDS']) ? $entityInfo['FIELDS'] : array(); $isHtml = $this->contentType === CCrmContentType::Html; $isBBCode = $this->contentType === CCrmContentType::BBCode; $isPlainText = $this->contentType === CCrmContentType::PlainText; if ($typeID === CCrmOwnerType::Lead) { switch ($fieldName) { case 'ID': $result = isset($fields[$fieldName]) ? intval($fields[$fieldName]) : 0; break; case 'NAME': case 'SECOND_NAME': case 'LAST_NAME': case 'TITLE': case 'COMPANY_TITLE': case 'SOURCE_DESCRIPTION': case 'STATUS_DESCRIPTION': case 'POST': case 'ASSIGNED_BY_WORK_POSITION': $result = self::MapFieldValue($fields, $fieldName, $isHtml); break; case 'ADDRESS': $addressOptions = array(); if ($isHtml) { $addressOptions['SEPARATOR'] = AddressSeparator::HtmlLineBreak; $addressOptions['NL2BR'] = true; } else { $addressOptions['SEPARATOR'] = AddressSeparator::NewLine; } $result = LeadAddressFormatter::format($fields, $addressOptions); break; case 'COMMENTS': if ($isBBCode) { $result = self::MapHtmlFieldAsBbCode($fields, 'COMMENTS'); } elseif ($isPlainText) { $result = self::MapHtmlFieldAsPlainText($fields, 'COMMENTS'); } else { $result = self::MapFieldValue($fields, $fieldName, false); } break; case 'SOURCE': $result = self::MapReferenceValue(self::PrepareSources(), $fields, 'SOURCE_ID', $isHtml); break; case 'STATUS': $result = self::MapReferenceValue(self::PrepareLeadStatuses(), $fields, 'STATUS_ID', $isHtml); break; case 'FORMATTED_NAME': $result = CCrmLead::PrepareFormattedName(array('HONORIFIC' => isset($fields['HONORIFIC']) ? $fields['HONORIFIC'] : '', 'NAME' => isset($fields['NAME']) ? $fields['NAME'] : '', 'SECOND_NAME' => isset($fields['SECOND_NAME']) ? $fields['SECOND_NAME'] : '', 'LAST_NAME' => isset($fields['LAST_NAME']) ? $fields['LAST_NAME'] : '')); if ($isHtml) { $result = htmlspecialcharsbx($result); } break; case 'ASSIGNED_BY_FULL_NAME': $result = CCrmViewHelper::GetFormattedUserName(isset($fields['ASSIGNED_BY_ID']) ? $fields['ASSIGNED_BY_ID'] : 0, '', $isHtml); break; case 'CREATED_BY_FULL_NAME': $result = CCrmViewHelper::GetFormattedUserName(isset($fields['CREATED_BY_ID']) ? $fields['CREATED_BY_ID'] : 0, '', $isHtml); break; case 'MODIFY_BY_FULL_NAME': $result = CCrmViewHelper::GetFormattedUserName(isset($fields['MODIFY_BY_ID']) ? $fields['MODIFY_BY_ID'] : 0, '', $isHtml); break; case 'DATE_CREATE': $result = isset($fields['DATE_CREATE']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_CREATE'])) : ''; break; case 'DATE_MODIFY': $result = isset($fields['DATE_MODIFY']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_MODIFY'])) : ''; break; case 'CURRENCY': $result = isset($fields['CURRENCY_ID']) ? CCrmCurrency::GetCurrencyName($fields['CURRENCY_ID']) : ''; break; case 'OPPORTUNITY': $result = isset($fields['OPPORTUNITY']) ? $fields['OPPORTUNITY'] : 0.0; break; case 'OPPORTUNITY_FORMATTED': $result = CCrmCurrency::MoneyToString(isset($fields['OPPORTUNITY']) ? $fields['OPPORTUNITY'] : 0.0, isset($fields['CURRENCY_ID']) ? $fields['CURRENCY_ID'] : ''); break; } } elseif ($typeID === CCrmOwnerType::Deal) { switch ($fieldName) { case 'ID': $result = isset($fields[$fieldName]) ? intval($fields[$fieldName]) : 0; break; case 'TITLE': case 'ASSIGNED_BY_WORK_POSITION': $result = self::MapFieldValue($fields, $fieldName, $isHtml); break; case 'COMMENTS': if ($isBBCode) { $result = self::MapHtmlFieldAsBbCode($fields, 'COMMENTS'); } elseif ($isPlainText) { $result = self::MapHtmlFieldAsPlainText($fields, 'COMMENTS'); } else { $result = self::MapFieldValue($fields, $fieldName, false); } break; case 'TYPE': $result = self::MapReferenceValue(self::PrepareDealTypes(), $fields, 'TYPE_ID', $isHtml); break; case 'STAGE': $result = self::MapReferenceValue(self::PrepareDealStages(), $fields, 'STAGE_ID', $isHtml); break; case 'PROBABILITY': $result = (isset($fields[$fieldName]) ? intval($fields[$fieldName]) : 0) . ' %'; break; case 'BEGINDATE': $result = isset($fields['BEGINDATE']) ? FormatDate('SHORT', MakeTimeStamp($fields['BEGINDATE'])) : ''; break; case 'CLOSEDATE': $result = isset($fields['CLOSEDATE']) ? FormatDate('SHORT', MakeTimeStamp($fields['CLOSEDATE'])) : ''; break; case 'ASSIGNED_BY_FULL_NAME': $result = CCrmViewHelper::GetFormattedUserName(isset($fields['ASSIGNED_BY_ID']) ? $fields['ASSIGNED_BY_ID'] : 0, '', $isHtml); break; case 'CREATED_BY_FULL_NAME': $result = CCrmViewHelper::GetFormattedUserName(isset($fields['CREATED_BY_ID']) ? $fields['CREATED_BY_ID'] : 0, '', $isHtml); break; case 'MODIFY_BY_FULL_NAME': $result = CCrmViewHelper::GetFormattedUserName(isset($fields['MODIFY_BY_ID']) ? $fields['MODIFY_BY_ID'] : 0, '', $isHtml); break; case 'DATE_CREATE': $result = isset($fields['DATE_CREATE']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_CREATE'])) : ''; break; case 'DATE_MODIFY': $result = isset($fields['DATE_MODIFY']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_MODIFY'])) : ''; break; case 'CURRENCY': $result = isset($fields['CURRENCY_ID']) ? CCrmCurrency::GetCurrencyName($fields['CURRENCY_ID']) : ''; break; case 'OPPORTUNITY': $result = isset($fields['OPPORTUNITY']) ? $fields['OPPORTUNITY'] : 0.0; break; case 'OPPORTUNITY_FORMATTED': $result = CCrmCurrency::MoneyToString(isset($fields['OPPORTUNITY']) ? $fields['OPPORTUNITY'] : 0.0, isset($fields['CURRENCY_ID']) ? $fields['CURRENCY_ID'] : ''); break; case 'COMPANY': $result = self::ResolveEntityInfo(CCrmOwnerType::Company, isset($fields['COMPANY_ID']) ? intval($fields['COMPANY_ID']) : 0); break; case 'CONTACT': $result = self::ResolveEntityInfo(CCrmOwnerType::Contact, isset($fields['CONTACT_ID']) ? intval($fields['CONTACT_ID']) : 0); break; } } elseif ($typeID === CCrmOwnerType::Contact) { switch ($fieldName) { case 'ID': $result = isset($fields[$fieldName]) ? intval($fields[$fieldName]) : 0; break; case 'NAME': case 'SECOND_NAME': case 'LAST_NAME': case 'POST': case 'SOURCE_DESCRIPTION': case 'ASSIGNED_BY_WORK_POSITION': $result = self::MapFieldValue($fields, $fieldName, $isHtml); break; case 'ADDRESS': $addressOptions = array(); if ($isHtml) { $addressOptions['SEPARATOR'] = AddressSeparator::HtmlLineBreak; $addressOptions['NL2BR'] = true; } else { $addressOptions['SEPARATOR'] = AddressSeparator::NewLine; } $result = ContactAddressFormatter::format($fields, $addressOptions); break; case 'COMMENTS': if ($isBBCode) { $result = self::MapHtmlFieldAsBbCode($fields, 'COMMENTS'); } elseif ($isPlainText) { $result = self::MapHtmlFieldAsPlainText($fields, 'COMMENTS'); } else { $result = self::MapFieldValue($fields, $fieldName, false); } break; case 'FORMATTED_NAME': $result = CCrmContact::PrepareFormattedName(array('HONORIFIC' => isset($fields['HONORIFIC']) ? $fields['HONORIFIC'] : '', 'NAME' => isset($fields['NAME']) ? $fields['NAME'] : '', 'SECOND_NAME' => isset($fields['SECOND_NAME']) ? $fields['SECOND_NAME'] : '', 'LAST_NAME' => isset($fields['LAST_NAME']) ? $fields['LAST_NAME'] : '')); if ($isHtml) { $result = htmlspecialcharsbx($result); } break; case 'SOURCE': $result = self::MapReferenceValue(self::PrepareSources(), $fields, 'SOURCE_ID', $isHtml); break; case 'TYPE': $result = self::MapReferenceValue(self::PrepareContactTypes(), $fields, 'TYPE_ID', $isHtml); break; case 'COMPANY': $result = self::ResolveEntityInfo(CCrmOwnerType::Company, isset($fields['COMPANY_ID']) ? intval($fields['COMPANY_ID']) : 0); break; case 'ASSIGNED_BY_FULL_NAME': $result = CCrmViewHelper::GetFormattedUserName(isset($fields['ASSIGNED_BY_ID']) ? $fields['ASSIGNED_BY_ID'] : 0, '', $isHtml); break; case 'CREATED_BY_FULL_NAME': $result = CCrmViewHelper::GetFormattedUserName(isset($fields['CREATED_BY_ID']) ? $fields['CREATED_BY_ID'] : 0, '', $isHtml); break; case 'MODIFY_BY_FULL_NAME': $result = CCrmViewHelper::GetFormattedUserName(isset($fields['MODIFY_BY_ID']) ? $fields['MODIFY_BY_ID'] : 0, '', $isHtml); break; case 'DATE_CREATE': $result = isset($fields['DATE_CREATE']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_CREATE'])) : ''; break; case 'DATE_MODIFY': $result = isset($fields['DATE_MODIFY']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_MODIFY'])) : ''; break; } } elseif ($typeID === CCrmOwnerType::Company) { switch ($fieldName) { case 'ID': $result = isset($fields[$fieldName]) ? intval($fields[$fieldName]) : 0; break; case 'TITLE': case 'COMPANY_TITLE': case 'SOURCE_DESCRIPTION': case 'ASSIGNED_BY_WORK_POSITION': case 'BANKING_DETAILS': $result = self::MapFieldValue($fields, $fieldName, $isHtml); break; case 'ADDRESS': case 'ADDRESS_LEGAL': $addressOptions = array('TYPE_ID' => $fieldName === 'ADDRESS' ? EntityAddress::Primary : EntityAddress::Registered); if ($isHtml) { $addressOptions['SEPARATOR'] = AddressSeparator::HtmlLineBreak; $addressOptions['NL2BR'] = true; } else { $addressOptions['SEPARATOR'] = AddressSeparator::NewLine; } $result = CompanyAddressFormatter::format($fields, $addressOptions); break; case 'COMMENTS': if ($isBBCode) { $result = self::MapHtmlFieldAsBbCode($fields, 'COMMENTS'); } elseif ($isPlainText) { $result = self::MapHtmlFieldAsPlainText($fields, 'COMMENTS'); } else { $result = self::MapFieldValue($fields, $fieldName, false); } break; case 'COMPANY_TYPE': case 'TYPE': $result = self::MapReferenceValue(self::PrepareCompanyTypes(), $fields, 'COMPANY_TYPE', $isHtml); break; case 'INDUSTRY': $result = self::MapReferenceValue(self::PrepareIndustries(), $fields, 'INDUSTRY', $isHtml); break; case 'EMPLOYEES': $result = self::MapReferenceValue(self::PrepareEmployees(), $fields, 'EMPLOYEES', $isHtml); break; case 'CURRENCY': $result = isset($fields['CURRENCY_ID']) ? CCrmCurrency::GetCurrencyName($fields['CURRENCY_ID']) : ''; break; case 'REVENUE': $result = isset($fields['REVENUE']) ? $fields['REVENUE'] : 0.0; break; case 'REVENUE_FORMATTED': $result = CCrmCurrency::MoneyToString(isset($fields['REVENUE']) ? $fields['REVENUE'] : 0.0, isset($fields['CURRENCY_ID']) ? $fields['CURRENCY_ID'] : ''); break; case 'ASSIGNED_BY_FULL_NAME': $result = CCrmViewHelper::GetFormattedUserName(isset($fields['ASSIGNED_BY_ID']) ? $fields['ASSIGNED_BY_ID'] : 0, '', $isHtml); break; case 'CREATED_BY_FULL_NAME': $result = CCrmViewHelper::GetFormattedUserName(isset($fields['CREATED_BY_ID']) ? $fields['CREATED_BY_ID'] : 0, '', $isHtml); break; case 'MODIFY_BY_FULL_NAME': $result = CCrmViewHelper::GetFormattedUserName(isset($fields['MODIFY_BY_ID']) ? $fields['MODIFY_BY_ID'] : 0, '', $isHtml); break; case 'DATE_CREATE': $result = isset($fields['DATE_CREATE']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_CREATE'])) : ''; break; case 'DATE_MODIFY': $result = isset($fields['DATE_MODIFY']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_MODIFY'])) : ''; break; } } return $result; }
'TEXT' => GetMessage('CRM_QUOTE_BIZPROC_LIST'), 'MENU' => $arBizprocList ); endif; endif;*/ if ($arQuote['DELETE'] && !$arResult['INTERNAL']) { $arActions[] = array('SEPARATOR' => true); $arActions[] = array('ICONCLASS' => 'delete', 'TITLE' => GetMessage('CRM_QUOTE_DELETE_TITLE'), 'TEXT' => GetMessage('CRM_QUOTE_DELETE'), 'ONCLICK' => "crm_quote_delete_grid('" . CUtil::JSEscape(GetMessage('CRM_QUOTE_DELETE_TITLE')) . "', '" . CUtil::JSEscape(GetMessage('CRM_QUOTE_DELETE_CONFIRM')) . "', '" . CUtil::JSEscape(GetMessage('CRM_QUOTE_DELETE')) . "', '" . CUtil::JSEscape($arQuote['PATH_TO_QUOTE_DELETE']) . "')"); } $contactID = isset($arQuote['~CONTACT_ID']) ? intval($arQuote['~CONTACT_ID']) : 0; $companyID = isset($arQuote['~COMPANY_ID']) ? intval($arQuote['~COMPANY_ID']) : 0; $leadID = isset($arQuote['~LEAD_ID']) ? intval($arQuote['~LEAD_ID']) : 0; $dealID = isset($arQuote['~DEAL_ID']) ? intval($arQuote['~DEAL_ID']) : 0; $resultItem = array('id' => $arQuote['ID'], 'actions' => $arActions, 'data' => $arQuote, 'editable' => !$arQuote['EDIT'] ? $arResult['INTERNAL'] ? 'N' : $arColumns : 'Y', 'columns' => array('QUOTE_NUMBER' => '<a target="_self" href="' . $arQuote['PATH_TO_QUOTE_SHOW'] . '">' . $arQuote['QUOTE_NUMBER'] . '</a>', 'QUOTE_SUMMARY' => CCrmViewHelper::RenderInfo1($arQuote['PATH_TO_QUOTE_SHOW'], isset($arQuote['QUOTE_NUMBER']) ? $arQuote['QUOTE_NUMBER'] : '[' . $arQuote['ID'] . ']', $arQuote['TITLE'], '_self'), 'QUOTE_CLIENT' => $contactID > 0 ? CCrmViewHelper::PrepareClientInfo(array('ENTITY_TYPE_ID' => CCrmOwnerType::Contact, 'ENTITY_ID' => $contactID, 'TITLE' => isset($arQuote['~CONTACT_FORMATTED_NAME']) ? $arQuote['~CONTACT_FORMATTED_NAME'] : '[' . $contactID . ']', 'PREFIX' => "QUOTE_{$arQuote['~ID']}", 'DESCRIPTION' => isset($arQuote['~COMPANY_TITLE']) ? $arQuote['~COMPANY_TITLE'] : '')) : ($companyID > 0 ? CCrmViewHelper::PrepareClientInfo(array('ENTITY_TYPE_ID' => CCrmOwnerType::Company, 'ENTITY_ID' => $companyID, 'TITLE' => isset($arQuote['~COMPANY_TITLE']) ? $arQuote['~COMPANY_TITLE'] : '[' . $companyID . ']', 'PREFIX' => "QUOTE_{$arQuote['~ID']}"), $arQuote['PATH_TO_COMPANY_SHOW'], isset($arQuote['COMPANY_TITLE']) ? $arQuote['COMPANY_TITLE'] : '', '') : ''), 'COMPANY_ID' => $companyID > 0 ? CCrmViewHelper::PrepareClientInfo(array('ENTITY_TYPE_ID' => CCrmOwnerType::Company, 'ENTITY_ID' => $companyID, 'TITLE' => isset($arQuote['~COMPANY_TITLE']) ? $arQuote['~COMPANY_TITLE'] : '[' . $companyID . ']', 'PREFIX' => "QUOTE_{$arQuote['~ID']}"), $arQuote['PATH_TO_COMPANY_SHOW'], isset($arQuote['COMPANY_TITLE']) ? $arQuote['COMPANY_TITLE'] : '', '') : '', 'LEAD_ID' => $leadID > 0 ? CCrmViewHelper::PrepareClientInfo(array('ENTITY_TYPE_ID' => CCrmOwnerType::Lead, 'ENTITY_ID' => $leadID, 'TITLE' => isset($arQuote['~LEAD_TITLE']) ? $arQuote['~LEAD_TITLE'] : '[' . $leadID . ']', 'PREFIX' => "QUOTE_{$arQuote['~ID']}"), $arQuote['PATH_TO_LEAD_SHOW'], isset($arQuote['LEAD_TITLE']) ? $arQuote['LEAD_TITLE'] : '', '') : '', 'DEAL_ID' => $dealID > 0 ? CCrmViewHelper::PrepareClientInfo(array('ENTITY_TYPE_ID' => CCrmOwnerType::Deal, 'ENTITY_ID' => $dealID, 'TITLE' => isset($arQuote['~DEAL_TITLE']) ? $arQuote['~DEAL_TITLE'] : '[' . $dealID . ']', 'PREFIX' => "QUOTE_{$arQuote['~ID']}"), $arQuote['PATH_TO_DEAL_SHOW'], isset($arQuote['DEAL_TITLE']) ? $arQuote['DEAL_TITLE'] : '', '') : '', 'CONTACT_ID' => $contactID > 0 ? CCrmViewHelper::PrepareClientInfo(array('ENTITY_TYPE_ID' => CCrmOwnerType::Contact, 'ENTITY_ID' => $contactID, 'TITLE' => isset($arQuote['~CONTACT_FORMATTED_NAME']) ? $arQuote['~CONTACT_FORMATTED_NAME'] : '[' . $contactID . ']', 'PREFIX' => "QUOTE_{$arQuote['~ID']}")) : '', 'TITLE' => '<a target="_self" href="' . $arQuote['PATH_TO_QUOTE_SHOW'] . '" class="' . '" ' . '>' . $arQuote['TITLE'] . '</a>', 'CLOSED' => $arQuote['CLOSED'] == 'Y' ? GetMessage('MAIN_YES') : GetMessage('MAIN_NO'), 'ASSIGNED_BY' => $arQuote['~ASSIGNED_BY'] > 0 ? '<a href="' . $arQuote['PATH_TO_USER_PROFILE'] . '" id="balloon_' . $arResult['GRID_ID'] . '_' . $arQuote['ID'] . '">' . $arQuote['ASSIGNED_BY'] . '</a>' . '<script type="text/javascript">BX.tooltip(' . $arQuote['~ASSIGNED_BY'] . ', "balloon_' . $arResult['GRID_ID'] . '_' . $arQuote['ID'] . '", "");</script>' : '', 'COMMENTS' => htmlspecialcharsback($arQuote['COMMENTS']), 'SUM' => '<nobr>' . $arQuote['FORMATTED_OPPORTUNITY'] . '</nobr>', 'OPPORTUNITY' => '<nobr>' . $arQuote['OPPORTUNITY'] . '</nobr>', 'DATE_CREATE' => '<nobr>' . FormatDate('SHORT', MakeTimeStamp($arQuote['DATE_CREATE'])) . '</nobr>', 'DATE_MODIFY' => '<nobr>' . FormatDate('SHORT', MakeTimeStamp($arQuote['DATE_MODIFY'])) . '</nobr>', 'CURRENCY_ID' => CCrmCurrency::GetCurrencyName($arQuote['CURRENCY_ID']), 'PRODUCT_ID' => isset($arQuote['PRODUCT_ROWS']) ? htmlspecialcharsbx(CCrmProductRow::RowsToString($arQuote['PRODUCT_ROWS'])) : '', 'STATUS_ID' => CCrmViewHelper::RenderQuoteStatusControl(array('PREFIX' => "{$arResult['GRID_ID']}_PROGRESS_BAR_", 'ENTITY_ID' => $arQuote['~ID'], 'CURRENT_ID' => $arQuote['~STATUS_ID'], 'SERVICE_URL' => '/bitrix/components/bitrix/crm.quote.list/list.ajax.php')), 'CREATED_BY' => $arQuote['~CREATED_BY'] > 0 ? '<a href="' . $arQuote['PATH_TO_USER_CREATOR'] . '" id="balloon_' . $arResult['GRID_ID'] . '_' . $arQuote['ID'] . '">' . $arQuote['CREATED_BY_FORMATTED_NAME'] . '</a>' . '<script type="text/javascript">BX.tooltip(' . $arQuote['~CREATED_BY'] . ', "balloon_' . $arResult['GRID_ID'] . '_' . $arQuote['ID'] . '", "");</script>' : '', 'MODIFY_BY' => $arQuote['~MODIFY_BY'] > 0 ? '<a href="' . $arQuote['PATH_TO_USER_MODIFIER'] . '" id="balloon_' . $arResult['GRID_ID'] . '_' . $arQuote['ID'] . '">' . $arQuote['MODIFY_BY_FORMATTED_NAME'] . '</a>' . '<script type="text/javascript">BX.tooltip(' . $arQuote['~MODIFY_BY'] . ', "balloon_' . $arResult['GRID_ID'] . '_' . $arQuote['ID'] . '", "");</script>' : '', 'ENTITIES_LINKS' => $arQuote['FORMATTED_ENTITIES_LINKS'], 'CLOSEDATE' => empty($arQuote['CLOSEDATE']) ? '' : '<nobr>' . $arQuote['CLOSEDATE'] . '</nobr>') + $arResult['QUOTE_UF'][$sKey]); if ($arQuote['IN_COUNTER_FLAG'] === true) { if ($resultItem['columnClasses']['CLOSEDATE'] != '') { $resultItem['columnClasses']['CLOSEDATE'] .= ' '; } else { $resultItem['columnClasses']['CLOSEDATE'] = ''; } $resultItem['columnClasses']['CLOSEDATE'] .= 'crm-list-quote-today'; } if ($arQuote['EXPIRED_FLAG'] === true) { if ($resultItem['columnClasses']['CLOSEDATE'] != '') { $resultItem['columnClasses']['CLOSEDATE'] .= ' '; } else { $resultItem['columnClasses']['CLOSEDATE'] = ''; } $resultItem['columnClasses']['CLOSEDATE'] .= 'crm-list-quote-time-expired';
$arInvoiceStatusInfoValues[$arInvoice['~ID']] = array('PAY_VOUCHER_DATE' => $arInvoice['~PAY_VOUCHER_DATE'] != '' ? FormatDate('SHORT', MakeTimeStamp($arInvoice['~PAY_VOUCHER_DATE'])) : '', 'PAY_VOUCHER_NUM' => $arInvoice['~PAY_VOUCHER_NUM'] != '' ? $arInvoice['~PAY_VOUCHER_NUM'] : '', 'DATE_MARKED' => $arInvoice['~DATE_MARKED'] != '' ? FormatDate('SHORT', MakeTimeStamp($arInvoice['~DATE_MARKED'])) : '', 'REASON_MARKED' => $arInvoice['~REASON_MARKED'] != '' ? $arInvoice['~REASON_MARKED'] : ''); $arActions = array(); $arActions[] = array('ICONCLASS' => 'view', 'TITLE' => GetMessage('CRM_INVOICE_SHOW_TITLE'), 'TEXT' => GetMessage('CRM_INVOICE_SHOW'), 'ONCLICK' => "jsUtils.Redirect([], '" . CUtil::JSEscape($arInvoice['PATH_TO_INVOICE_SHOW']) . "');", 'DEFAULT' => true); $arActions[] = array('ICONCLASS' => 'print', 'TITLE' => GetMessage('CRM_INVOICE_PAYMENT_HTML_TITLE'), 'TEXT' => GetMessage('CRM_INVOICE_PAYMENT_HTML'), 'ONCLICK' => "jsUtils.OpenWindow('" . CUtil::JSEscape(CHTTP::urlAddParams($arInvoice['PATH_TO_INVOICE_PAYMENT'], array('PRINT' => 'Y', 'ncc' => '1'))) . "', 960, 600);"); if (is_callable(array('CSalePdf', 'isPdfAvailable')) && CSalePdf::isPdfAvailable()) { $arActions[] = array('ICONCLASS' => 'view', 'TITLE' => GetMessage('CRM_INVOICE_PAYMENT_PDF_TITLE'), 'TEXT' => GetMessage('CRM_INVOICE_PAYMENT_PDF'), 'ONCLICK' => "jsUtils.Redirect([], '" . CUtil::JSEscape(CHTTP::urlAddParams($arInvoice['PATH_TO_INVOICE_PAYMENT'], array('pdf' => 1, 'DOWNLOAD' => 'Y', 'ncc' => '1'))) . "');"); } if ($arInvoice['EDIT']) { $arActions[] = array('ICONCLASS' => 'edit', 'TITLE' => GetMessage('CRM_INVOICE_EDIT_TITLE'), 'TEXT' => GetMessage('CRM_INVOICE_EDIT'), 'ONCLICK' => "jsUtils.Redirect([], '" . CUtil::JSEscape($arInvoice['PATH_TO_INVOICE_EDIT']) . "');"); $arActions[] = array('ICONCLASS' => 'copy', 'TITLE' => GetMessage('CRM_INVOICE_COPY_TITLE'), 'TEXT' => GetMessage('CRM_INVOICE_COPY'), 'ONCLICK' => "jsUtils.Redirect([], '" . CUtil::JSEscape($arInvoice['PATH_TO_INVOICE_COPY']) . "');"); } if ($arInvoice['DELETE'] && !$arResult['INTERNAL']) { $arActions[] = array('SEPARATOR' => true); $arActions[] = array('ICONCLASS' => 'delete', 'TITLE' => GetMessage('CRM_INVOICE_DELETE_TITLE'), 'TEXT' => GetMessage('CRM_INVOICE_DELETE'), 'ONCLICK' => "crm_invoice_delete_grid('" . CUtil::JSEscape(GetMessage('CRM_INVOICE_DELETE_TITLE')) . "', '" . CUtil::JSEscape(GetMessage('CRM_INVOICE_DELETE_CONFIRM')) . "', '" . CUtil::JSEscape(GetMessage('CRM_INVOICE_DELETE')) . "', '" . CUtil::JSEscape($arInvoice['PATH_TO_INVOICE_DELETE']) . "')"); } $resultRow = array('id' => $arInvoice['ID'], 'actions' => $arActions, 'data' => $arInvoice, 'editable' => !$arInvoice['EDIT'] ? $arResult['INTERNAL'] ? 'N' : $arColumns : 'Y', 'columns' => array('ACCOUNT_NUMBER' => '<a target="_self" href="' . $arInvoice['PATH_TO_INVOICE_SHOW'] . '">' . $arInvoice['ACCOUNT_NUMBER'] . '</a>', 'STATUS_ID' => CCrmViewHelper::RenderInvoiceStatusControl(array('PREFIX' => "{$arResult['GRID_ID']}_PROGRESS_BAR_", 'ENTITY_ID' => $arInvoice['~ID'], 'CURRENT_ID' => $arInvoice['~STATUS_ID'], 'SERVICE_URL' => '/bitrix/components/bitrix/crm.invoice.list/list.ajax.php')), 'RESPONSIBLE_ID' => $arInvoice['~RESPONSIBLE_ID'] > 0 ? '<a href="' . $arInvoice['PATH_TO_USER_PROFILE'] . '" id="balloon_' . $arResult['GRID_ID'] . '_' . $arInvoice['ID'] . '">' . $arInvoice['RESPONSIBLE'] . '</a>' . '<script type="text/javascript">BX.tooltip(' . $arInvoice['~RESPONSIBLE_ID'] . ', "balloon_' . $arResult['GRID_ID'] . '_' . $arInvoice['ID'] . '", "");</script>' : '', 'DATE_PAY_BEFORE' => $arInvoice['DATE_PAY_BEFORE'] == "" ? ' ' : '<nobr>' . FormatDate('SHORT', MakeTimeStamp($arInvoice['DATE_PAY_BEFORE'])) . '</nobr>', 'DATE_INSERT' => $arInvoice['DATE_INSERT'] == "" ? ' ' : '<nobr>' . FormatDate('SHORT', MakeTimeStamp($arInvoice['DATE_INSERT'])) . '</nobr>', 'DATE_BILL' => $arInvoice['DATE_BILL'] == "" ? ' ' : '<nobr>' . FormatDate('SHORT', MakeTimeStamp($arInvoice['DATE_BILL'])) . '</nobr>', 'DATE_MARKED' => $arInvoice['DATE_MARKED'] == "" ? ' ' : '<nobr>' . FormatDate('SHORT', MakeTimeStamp($arInvoice['DATE_MARKED'])) . '</nobr>', 'DATE_STATUS' => $arInvoice['DATE_STATUS'] == "" ? ' ' : '<nobr>' . FormatDate('SHORT', MakeTimeStamp($arInvoice['DATE_STATUS'])) . '</nobr>', 'DATE_UPDATE' => $arInvoice['DATE_UPDATE'] == "" ? ' ' : '<nobr>' . FormatDate('SHORT', MakeTimeStamp($arInvoice['DATE_UPDATE'])) . '</nobr>', 'PAY_VOUCHER_DATE' => $arInvoice['PAY_VOUCHER_DATE'] == "" ? ' ' : '<nobr>' . FormatDate('SHORT', MakeTimeStamp($arInvoice['PAY_VOUCHER_DATE'])) . '</nobr>', 'PRICE' => $arInvoice['FORMATTED_PRICE'], 'TAX_VALUE' => $arInvoice['FORMATTED_TAX_VALUE'], 'CURRENCY' => htmlspecialcharsbx(CCrmCurrency::GetCurrencyName($arInvoice['CURRENCY'])), 'ENTITIES_LINKS' => $arInvoice['FORMATTED_ENTITIES_LINKS'], 'PERSON_TYPE_ID' => trim($arResult['PERSON_TYPES'][$arInvoice['PERSON_TYPE_ID']]), 'PAY_SYSTEM_ID' => trim($arResult['PAY_SYSTEMS_LIST'][$arInvoice['PERSON_TYPE_ID']][$arInvoice['PAY_SYSTEM_ID']]), 'COMMENTS' => $arInvoice['~COMMENTS'], 'USER_DESCRIPTION' => $arInvoice['~USER_DESCRIPTION']) + $arResult['INVOICE_UF'][$sKey]); if ($arInvoice['INVOICE_IN_COUNTER_FLAG'] === true) { if ($resultRow['columnClasses']['DATE_PAY_BEFORE'] != '') { $resultRow['columnClasses']['DATE_PAY_BEFORE'] .= ' '; } else { $resultRow['columnClasses']['DATE_PAY_BEFORE'] = ''; } $resultRow['columnClasses']['DATE_PAY_BEFORE'] .= 'crm-list-invoice-today'; } if ($arInvoice['INVOICE_EXPIRED_FLAG'] === true) { if ($resultRow['columnClasses']['DATE_PAY_BEFORE'] != '') { $resultRow['columnClasses']['DATE_PAY_BEFORE'] .= ' '; } else { $resultRow['columnClasses']['DATE_PAY_BEFORE'] = ''; } $resultRow['columnClasses']['DATE_PAY_BEFORE'] .= 'crm-list-invoice-time-expired';
$arActions[] = array('ICONCLASS' => 'bizproc', 'TITLE' => GetMessage('CRM_COMPANY_BIZPROC_TITLE'), 'TEXT' => GetMessage('CRM_COMPANY_BIZPROC'), 'ONCLICK' => "jsUtils.Redirect([], '" . CUtil::JSEscape($arCompany['PATH_TO_BIZPROC_LIST']) . "');"); } if (!empty($arCompany['BIZPROC_LIST'])) { $arBizprocList = array(); foreach ($arCompany['BIZPROC_LIST'] as $arBizproc) { $arBizprocList[] = array('ICONCLASS' => 'bizproc', 'TITLE' => $arBizproc['DESCRIPTION'], 'TEXT' => $arBizproc['NAME'], 'ONCLICK' => "jsUtils.Redirect([], '" . CUtil::JSEscape($arBizproc['PATH_TO_BIZPROC_START']) . "');"); } $arActions[] = array('ICONCLASS' => 'bizproc', 'TITLE' => GetMessage('CRM_COMPANY_BIZPROC_LIST_TITLE'), 'TEXT' => GetMessage('CRM_COMPANY_BIZPROC_LIST'), 'MENU' => $arBizprocList); } } } if ($arCompany['DELETE'] && !$arResult['INTERNAL']) { $arActions[] = array('SEPARATOR' => true); $arActions[] = array('ICONCLASS' => 'delete', 'TITLE' => GetMessage('CRM_COMPANY_DELETE_TITLE'), 'TEXT' => GetMessage('CRM_COMPANY_DELETE'), 'ONCLICK' => "crm_company_delete_grid('" . CUtil::JSEscape(GetMessage('CRM_COMPANY_DELETE_TITLE')) . "', '" . CUtil::JSEscape(GetMessage('CRM_COMPANY_DELETE_CONFIRM')) . "', '" . CUtil::JSEscape(GetMessage('CRM_COMPANY_DELETE')) . "', '" . CUtil::JSEscape($arCompany['PATH_TO_COMPANY_DELETE']) . "')"); } $resultItem = array('id' => $arCompany['ID'], 'actions' => $arActions, 'data' => $arCompany, 'editable' => !$arCompany['EDIT'] ? $arResult['INTERNAL'] ? 'N' : $arColumns : 'Y', 'columns' => array('COMPANY_SUMMARY' => CCrmViewHelper::RenderClientSummary($arCompany['PATH_TO_COMPANY_SHOW'], $arCompany['TITLE'], $arCompany['COMPANY_TYPE_NAME'], isset($arCompany['LOGO']) ? $arCompany['LOGO'] : ''), 'ASSIGNED_BY' => $arCompany['~ASSIGNED_BY'] > 0 ? '<a href="' . $arCompany['PATH_TO_USER_PROFILE'] . '" id="balloon_' . $arResult['GRID_ID'] . '_' . $arCompany['ID'] . '">' . $arCompany['ASSIGNED_BY'] . '</a>' . '<script type="text/javascript">BX.tooltip(' . $arCompany['~ASSIGNED_BY'] . ', "balloon_' . $arResult['GRID_ID'] . '_' . $arCompany['ID'] . '", "");</script>' : '', 'COMMENTS' => nl2br($arCompany['COMMENTS']), 'ADDRESS' => nl2br($arCompany['ADDRESS']), 'REVENUE' => '<nobr>' . number_format($arCompany['REVENUE'], 2, ',', ' ') . '</nobr>', 'COMMENTS' => htmlspecialcharsback($arCompany['COMMENTS']), 'ADDRESS_LEGAL' => nl2br($arCompany['ADDRESS_LEGAL']), 'BANKING_DETAILS' => nl2br($arCompany['BANKING_DETAILS']), 'DATE_CREATE' => '<nobr>' . FormatDate('SHORT', MakeTimeStamp($arCompany['DATE_CREATE'])) . '</nobr>', 'DATE_MODIFY' => '<nobr>' . FormatDate('SHORT', MakeTimeStamp($arCompany['DATE_MODIFY'])) . '</nobr>', 'COMPANY_TYPE' => isset($arResult['COMPANY_TYPE_LIST'][$arCompany['COMPANY_TYPE']]) ? $arResult['COMPANY_TYPE_LIST'][$arCompany['COMPANY_TYPE']] : $arCompany['COMPANY_TYPE'], 'CURRENCY_ID' => CCrmCurrency::GetCurrencyName($arCompany['CURRENCY_ID']), 'INDUSTRY' => isset($arResult['INDUSTRY_LIST'][$arCompany['INDUSTRY']]) ? $arResult['INDUSTRY_LIST'][$arCompany['INDUSTRY']] : $arCompany['INDUSTRY'], 'EMPLOYEES' => isset($arResult['EMPLOYEES_LIST'][$arCompany['EMPLOYEES']]) ? $arResult['EMPLOYEES_LIST'][$arCompany['EMPLOYEES']] : $arCompany['EMPLOYEES'], 'CREATED_BY' => $arCompany['~CREATED_BY'] > 0 ? '<a href="' . $arCompany['PATH_TO_USER_CREATOR'] . '" id="balloon_' . $arResult['GRID_ID'] . '_' . $arCompany['ID'] . '">' . $arCompany['CREATED_BY_FORMATTED_NAME'] . '</a>' . '<script type="text/javascript">BX.tooltip(' . $arCompany['~CREATED_BY'] . ', "balloon_' . $arResult['GRID_ID'] . '_' . $arCompany['ID'] . '", "");</script>' : '', 'MODIFY_BY' => $arCompany['~MODIFY_BY'] > 0 ? '<a href="' . $arCompany['PATH_TO_USER_MODIFIER'] . '" id="balloon_' . $arResult['GRID_ID'] . '_' . $arCompany['ID'] . '">' . $arCompany['MODIFY_BY_FORMATTED_NAME'] . '</a>' . '<script type="text/javascript">BX.tooltip(' . $arCompany['~MODIFY_BY'] . ', "balloon_' . $arResult['GRID_ID'] . '_' . $arCompany['ID'] . '", "");</script>' : '') + CCrmViewHelper::RenderListMultiFields($arCompany, "COMPANY_{$arCompany['ID']}_", array('ENABLE_SIP' => true, 'SIP_PARAMS' => array('ENTITY_TYPE' => 'CRM_' . CCrmOwnerType::CompanyName, 'ENTITY_ID' => $arCompany['ID']))) + $arResult['COMPANY_UF'][$sKey]); $userActivityID = isset($arCompany['~ACTIVITY_ID']) ? intval($arCompany['~ACTIVITY_ID']) : 0; $commonActivityID = isset($arCompany['~C_ACTIVITY_ID']) ? intval($arCompany['~C_ACTIVITY_ID']) : 0; if ($userActivityID > 0) { $resultItem['columns']['ACTIVITY_ID'] = CCrmViewHelper::RenderNearestActivity(array('ENTITY_TYPE_NAME' => CCrmOwnerType::ResolveName(CCrmOwnerType::Company), 'ENTITY_ID' => $arCompany['~ID'], 'ENTITY_RESPONSIBLE_ID' => $arCompany['~ASSIGNED_BY'], 'GRID_MANAGER_ID' => $gridManagerID, 'ACTIVITY_ID' => $userActivityID, 'ACTIVITY_SUBJECT' => isset($arCompany['~ACTIVITY_SUBJECT']) ? $arCompany['~ACTIVITY_SUBJECT'] : '', 'ACTIVITY_TIME' => isset($arCompany['~ACTIVITY_TIME']) ? $arCompany['~ACTIVITY_TIME'] : '', 'ACTIVITY_EXPIRED' => isset($arCompany['~ACTIVITY_EXPIRED']) ? $arCompany['~ACTIVITY_EXPIRED'] : '', 'ALLOW_EDIT' => $arCompany['EDIT'], 'MENU_ITEMS' => $arActivityMenuItems)); $counterData = array('CURRENT_USER_ID' => $currentUserID, 'ENTITY' => $arCompany, 'ACTIVITY' => array('RESPONSIBLE_ID' => $currentUserID, 'TIME' => isset($arCompany['~ACTIVITY_TIME']) ? $arCompany['~ACTIVITY_TIME'] : '', 'IS_CURRENT_DAY' => isset($arCompany['~ACTIVITY_IS_CURRENT_DAY']) ? $arCompany['~ACTIVITY_IS_CURRENT_DAY'] : false)); if (CCrmUserCounter::IsReckoned(CCrmUserCounter::CurrentCompanyActivies, $counterData)) { $resultItem['columnClasses'] = array('ACTIVITY_ID' => 'crm-list-deal-today'); } } elseif ($commonActivityID > 0) { $resultItem['columns']['ACTIVITY_ID'] = CCrmViewHelper::RenderNearestActivity(array('ENTITY_TYPE_NAME' => CCrmOwnerType::ResolveName(CCrmOwnerType::Company), 'ENTITY_ID' => $arCompany['~ID'], 'ENTITY_RESPONSIBLE_ID' => $arCompany['~ASSIGNED_BY'], 'GRID_MANAGER_ID' => $gridManagerID, 'ACTIVITY_ID' => $commonActivityID, 'ACTIVITY_SUBJECT' => isset($arCompany['~C_ACTIVITY_SUBJECT']) ? $arCompany['~C_ACTIVITY_SUBJECT'] : '', 'ACTIVITY_TIME' => isset($arCompany['~C_ACTIVITY_TIME']) ? $arCompany['~C_ACTIVITY_TIME'] : '', 'ACTIVITY_RESPONSIBLE_ID' => isset($arCompany['~C_ACTIVITY_RESP_ID']) ? intval($arCompany['~C_ACTIVITY_RESP_ID']) : 0, 'ACTIVITY_RESPONSIBLE_LOGIN' => isset($arCompany['~C_ACTIVITY_RESP_LOGIN']) ? $arCompany['~C_ACTIVITY_RESP_LOGIN'] : '', 'ACTIVITY_RESPONSIBLE_NAME' => isset($arCompany['~C_ACTIVITY_RESP_NAME']) ? $arCompany['~C_ACTIVITY_RESP_NAME'] : '', 'ACTIVITY_RESPONSIBLE_LAST_NAME' => isset($arCompany['~C_ACTIVITY_RESP_LAST_NAME']) ? $arCompany['~C_ACTIVITY_RESP_LAST_NAME'] : '', 'ACTIVITY_RESPONSIBLE_SECOND_NAME' => isset($arCompany['~C_ACTIVITY_RESP_SECOND_NAME']) ? $arCompany['~C_ACTIVITY_RESP_SECOND_NAME'] : '', 'NAME_TEMPLATE' => $arParams['NAME_TEMPLATE'], 'PATH_TO_USER_PROFILE' => $arParams['PATH_TO_USER_PROFILE'], 'ALLOW_EDIT' => $arCompany['EDIT'], 'MENU_ITEMS' => $arActivityMenuItems)); } else { $resultItem['columns']['ACTIVITY_ID'] = CCrmViewHelper::RenderNearestActivity(array('ENTITY_TYPE_NAME' => CCrmOwnerType::ResolveName(CCrmOwnerType::Company), 'ENTITY_ID' => $arCompany['~ID'], 'ENTITY_RESPONSIBLE_ID' => $arCompany['~ASSIGNED_BY'], 'GRID_MANAGER_ID' => $gridManagerID, 'ALLOW_EDIT' => $arCompany['EDIT'], 'MENU_ITEMS' => $arActivityMenuItems)); } $arResult['GRID_DATA'][] =& $resultItem; unset($resultItem);
public static function PrepareLeadItem(&$item, &$params, $enums = array()) { $itemID = intval($item['~ID']); $item['SHOW_URL'] = CComponentEngine::MakePathFromTemplate($params['LEAD_SHOW_URL_TEMPLATE'], array('lead_id' => $itemID)); $statusList = $enums && isset($enums['STATUS_LIST']) ? $enums['STATUS_LIST'] : self::GetStatusList('STATUS'); $statusID = isset($item['~STATUS_ID']) ? $item['~STATUS_ID'] : ''; if ($statusID === '' || !isset($statusList[$statusID])) { $item['~STATUS_NAME'] = $item['STATUS_NAME'] = ''; } else { $item['~STATUS_NAME'] = $statusList[$statusID]; $item['STATUS_NAME'] = htmlspecialcharsbx($item['~STATUS_NAME']); } $sourceList = $enums && isset($enums['SOURCE_LIST']) ? $enums['SOURCE_LIST'] : self::GetStatusList('SOURCE'); $sourceID = isset($item['~SOURCE_ID']) ? $item['~SOURCE_ID'] : ''; if ($sourceID === '' || !isset($sourceList[$sourceID])) { $item['~SOURCE_NAME'] = $item['SOURCE_NAME'] = ''; } else { $item['~SOURCE_NAME'] = $sourceList[$sourceID]; $item['SOURCE_NAME'] = htmlspecialcharsbx($item['~SOURCE_NAME']); } $currencyID = isset($item['~CURRENCY_ID']) ? $item['~CURRENCY_ID'] : ''; if ($currencyID === '') { $currencyID = $item['~CURRENCY_ID'] = CCrmCurrency::GetBaseCurrencyID(); $item['CURRENCY_ID'] = htmlspecialcharsbx($currencyID); } $item['~CURRENCY_NAME'] = CCrmCurrency::GetCurrencyName($currencyID); $item['CURRENCY_NAME'] = htmlspecialcharsbx($item['~CURRENCY_NAME']); $item['~FORMATTED_OPPORTUNITY'] = CCrmCurrency::MoneyToString(isset($item['~OPPORTUNITY']) ? $item['~OPPORTUNITY'] : '', $currencyID); $item['FORMATTED_OPPORTUNITY'] = strip_tags($item['~FORMATTED_OPPORTUNITY']); $item['~FORMATTED_NAME'] = CUser::FormatName($params['NAME_TEMPLATE'], array('LOGIN' => '', 'NAME' => isset($item['~NAME']) ? $item['~NAME'] : '', 'LAST_NAME' => isset($item['~LAST_NAME']) ? $item['~LAST_NAME'] : '', 'SECOND_NAME' => isset($item['~SECOND_NAME']) ? $item['~SECOND_NAME'] : ''), false, false); $item['FORMATTED_NAME'] = htmlspecialcharsbx($item['~FORMATTED_NAME']); $assignedByID = isset($item['~ASSIGNED_BY_ID']) ? intval($item['~ASSIGNED_BY_ID']) : 0; $item['~ASSIGNED_BY_ID'] = $item['ASSIGNED_BY_ID'] = $assignedByID; $item['ASSIGNED_BY_SHOW_URL'] = $assignedByID > 0 ? CComponentEngine::MakePathFromTemplate($params['USER_PROFILE_URL_TEMPLATE'], array('user_id' => $assignedByID)) : ''; $item['~ASSIGNED_BY_FORMATTED_NAME'] = $assignedByID > 0 ? CUser::FormatName($params['NAME_TEMPLATE'], array('LOGIN' => isset($item['~ASSIGNED_BY_LOGIN']) ? $item['~ASSIGNED_BY_LOGIN'] : '', 'NAME' => isset($item['~ASSIGNED_BY_NAME']) ? $item['~ASSIGNED_BY_NAME'] : '', 'LAST_NAME' => isset($item['~ASSIGNED_BY_LAST_NAME']) ? $item['~ASSIGNED_BY_LAST_NAME'] : '', 'SECOND_NAME' => isset($item['~ASSIGNED_BY_SECOND_NAME']) ? $item['~ASSIGNED_BY_SECOND_NAME'] : ''), true, false) : ''; $item['ASSIGNED_BY_FORMATTED_NAME'] = htmlspecialcharsbx($item['~ASSIGNED_BY_FORMATTED_NAME']); if (!isset($item['~ADDRESS'])) { $item['~ADDRESS'] = $item['ADDRESS'] = ''; } if (!isset($item['~ADDRESS_2'])) { $item['~ADDRESS_2'] = $item['ADDRESS_2'] = ''; } if (!isset($item['~ADDRESS_CITY'])) { $item['~ADDRESS_CITY'] = $item['ADDRESS_CITY'] = ''; } if (!isset($item['~ADDRESS_REGION'])) { $item['~ADDRESS_REGION'] = $item['ADDRESS_REGION'] = ''; } if (!isset($item['~ADDRESS_PROVINCE'])) { $item['~ADDRESS_PROVINCE'] = $item['ADDRESS_PROVINCE'] = ''; } if (!isset($item['~ADDRESS_POSTAL_CODE'])) { $item['~ADDRESS_POSTAL_CODE'] = $item['ADDRESS_POSTAL_CODE'] = ''; } if (!isset($item['~ADDRESS_COUNTRY'])) { $item['~ADDRESS_COUNTRY'] = $item['ADDRESS_COUNTRY'] = ''; } $item['FULL_ADDRESS'] = Bitrix\Crm\Format\LeadAddressFormatter::format(array('ADDRESS' => $item['~ADDRESS'], 'ADDRESS_2' => $item['~ADDRESS_2'], 'ADDRESS_CITY' => $item['~ADDRESS_CITY'], 'ADDRESS_REGION' => $item['~ADDRESS_REGION'], 'ADDRESS_PROVINCE' => $item['~ADDRESS_PROVINCE'], 'ADDRESS_POSTAL_CODE' => $item['~ADDRESS_POSTAL_CODE'], 'ADDRESS_COUNTRY' => $item['~ADDRESS_COUNTRY']), array('SEPARATOR' => Bitrix\Crm\Format\AddressSeparator::HtmlLineBreak)); }
$headerID = $arHead['id']; if ($headerID === 'ENTITIES_LINKS') { // Special logic for ENTITIES_LINKS: expand in 3 columns echo $arInvoice['DEAL_TITLE'] != '' ? '"' . str_replace('"', '""', htmlspecialcharsback($arInvoice['DEAL_TITLE'])) . '";' : ';'; echo $arInvoice['COMPANY_TITLE'] != '' ? '"' . str_replace('"', '""', htmlspecialcharsback($arInvoice['COMPANY_TITLE'])) . '";' : ';'; echo $arInvoice['CONTACT_FORMATTED_NAME'] != '' ? '"' . str_replace('"', '""', htmlspecialcharsback($arInvoice['CONTACT_FORMATTED_NAME'])) . '";' : ';'; continue; } if (!isset($invoiceData[$headerID])) { switch ($arHead['id']) { case 'STATUS_ID': $statusID = !empty($arInvoice['STATUS_ID']) ? $arInvoice['STATUS_ID'] : ''; $invoiceData['STATUS_ID'] = isset($arResult['STATUS_LIST'][$statusID]) ? $arResult['STATUS_LIST'][$statusID] : $statusID; break; case 'CURRENCY': $invoiceData['CURRENCY'] = CCrmCurrency::GetCurrencyName($arInvoice['CURRENCY']); break; case 'RESPONSIBLE_ID': $invoiceData['RESPONSIBLE_ID'] = htmlspecialcharsback($arInvoice['RESPONSIBLE']); break; case 'DATE_PAY_BEFORE': case 'DATE_INSERT': case 'DATE_BILL': case 'DATE_MARKED': case 'DATE_STATUS': case 'DATE_UPDATE': case 'PAY_VOUCHER_DATE': $site = new CSite(); if (!empty($arInvoice[$arHead['id']])) { $invoiceData[$arHead['id']] = htmlspecialcharsbx(FormatDate('SHORT', MakeTimeStamp($arInvoice[$arHead['id']], $site->GetDateFormat('FULL')))); } else {
$quoteData['STATE_ID'] = isset($arResult['STATE_LIST'][$stateID]) ? $arResult['STATE_LIST'][$stateID] : $stateID; break;*/ /*case 'TYPE_ID': $typeID = !empty($arQuote['TYPE_ID']) ? $arQuote['TYPE_ID'] : ''; $quoteData['TYPE_ID'] = isset($arResult['TYPE_LIST'][$typeID]) ? $arResult['TYPE_LIST'][$typeID] : $typeID; break;*/ /*case 'STATE_ID': $stateID = !empty($arQuote['STATE_ID']) ? $arQuote['STATE_ID'] : ''; $quoteData['STATE_ID'] = isset($arResult['STATE_LIST'][$stateID]) ? $arResult['STATE_LIST'][$stateID] : $stateID; break;*/ /*case 'TYPE_ID': $typeID = !empty($arQuote['TYPE_ID']) ? $arQuote['TYPE_ID'] : ''; $quoteData['TYPE_ID'] = isset($arResult['TYPE_LIST'][$typeID]) ? $arResult['TYPE_LIST'][$typeID] : $typeID; break;*/ case 'CURRENCY_ID': $quoteData['CURRENCY_ID'] = CCrmCurrency::GetCurrencyName($arQuote['CURRENCY_ID']); break; /*case 'EVENT_ID': $eventID = !empty($arQuote['EVENT_ID']) ? $arQuote['EVENT_ID'] : ''; $quoteData['EVENT_ID'] = isset($arResult['EVENT_LIST'][$eventID]) ? $arResult['EVENT_LIST'][$eventID] : $eventID; break;*/ /*case 'EVENT_ID': $eventID = !empty($arQuote['EVENT_ID']) ? $arQuote['EVENT_ID'] : ''; $quoteData['EVENT_ID'] = isset($arResult['EVENT_LIST'][$eventID]) ? $arResult['EVENT_LIST'][$eventID] : $eventID; break;*/ case 'COMPANY_ID': $quoteData['COMPANY_ID'] = isset($arQuote['COMPANY_TITLE']) ? $arQuote['COMPANY_TITLE'] : ''; break; case 'LEAD_ID': $quoteData['LEAD_ID'] = isset($arQuote['LEAD_TITLE']) ? $arQuote['LEAD_TITLE'] : ''; break;
if (!isset($dealData[$headerID])) { switch ($arHead['id']) { case 'STAGE_ID': $stageID = !empty($arDeal['STAGE_ID']) ? $arDeal['STAGE_ID'] : ''; $dealData['STAGE_ID'] = isset($arResult['STAGE_LIST'][$stageID]) ? $arResult['STAGE_LIST'][$stageID] : $stageID; break; case 'STATE_ID': $stateID = !empty($arDeal['STATE_ID']) ? $arDeal['STATE_ID'] : ''; $dealData['STATE_ID'] = isset($arResult['STATE_LIST'][$stateID]) ? $arResult['STATE_LIST'][$stateID] : $stateID; break; case 'TYPE_ID': $typeID = !empty($arDeal['TYPE_ID']) ? $arDeal['TYPE_ID'] : ''; $dealData['TYPE_ID'] = isset($arResult['TYPE_LIST'][$typeID]) ? $arResult['TYPE_LIST'][$typeID] : $typeID; break; case 'CURRENCY_ID': $dealData['CURRENCY_ID'] = CCrmCurrency::GetCurrencyName($arDeal['CURRENCY_ID']); break; case 'EVENT_ID': $eventID = !empty($arDeal['EVENT_ID']) ? $arDeal['EVENT_ID'] : ''; $dealData['EVENT_ID'] = isset($arResult['EVENT_LIST'][$eventID]) ? $arResult['EVENT_LIST'][$eventID] : $eventID; break; case 'COMPANY_ID': $dealData['COMPANY_ID'] = isset($arDeal['COMPANY_TITLE']) ? $arDeal['COMPANY_TITLE'] : ''; break; case 'CONTACT_ID': $dealData['CONTACT_ID'] = isset($arDeal['CONTACT_FORMATTED_NAME']) ? $arDeal['CONTACT_FORMATTED_NAME'] : ''; break; case 'CREATED_BY': $dealData['CREATED_BY'] = isset($arDeal['CREATED_BY_FORMATTED_NAME']) ? $arDeal['CREATED_BY_FORMATTED_NAME'] : ''; break; case 'MODIFY_BY':
echo '"', isset($arLead['OPPORTUNITY']) ? strval($arLead['OPPORTUNITY']) : '', '";'; } continue; } if (!isset($leadData[$headerID])) { switch ($headerID) { case 'STATUS_ID': $statusID = !empty($arLead['STATUS_ID']) ? $arLead['STATUS_ID'] : ''; $leadData['STATUS_ID'] = isset($arResult['STATUS_LIST'][$statusID]) ? $arResult['STATUS_LIST'][$statusID] : $statusID; break; case 'SOURCE_ID': $sourceID = !empty($arLead['SOURCE_ID']) ? $arLead['SOURCE_ID'] : ''; $leadData['SOURCE_ID'] = isset($arResult['SOURCE_LIST'][$sourceID]) ? $arResult['SOURCE_LIST'][$sourceID] : $sourceID; break; case 'CURRENCY_ID': $leadData['CURRENCY_ID'] = CCrmCurrency::GetCurrencyName($arLead['CURRENCY_ID']); break; case 'CREATED_BY': $leadData['CREATED_BY'] = isset($arLead['CREATED_BY_FORMATTED_NAME']) ? $arLead['CREATED_BY_FORMATTED_NAME'] : ''; break; case 'MODIFY_BY': $leadData['MODIFY_BY'] = isset($arLead['MODIFY_BY_FORMATTED_NAME']) ? $arLead['MODIFY_BY_FORMATTED_NAME'] : ''; break; default: if (isset($arResult['LEAD_UF'][$i]) && isset($arResult['LEAD_UF'][$i][$headerID])) { $leadData[$headerID] = $arResult['LEAD_UF'][$i][$headerID]; } elseif (is_array($arLead[$headerID])) { $leadData[$headerID] = implode(', ', $arLead[$headerID]); } else { $leadData[$headerID] = strval($arLead[$headerID]); }
$stageID = isset($data['STAGE_ID']) ? $data['STAGE_ID'] : ''; if ($stageID === '') { __CrmMobileDealEditEndResonse(array('ERROR' => GetMessage('CRM_DEAL_STAGE_NOT_FOUND'))); } //$DB->StartTransaction(); $fields = array('STAGE_ID' => $stageID); $entity = new CCrmDeal(false); $successed = $entity->Update($ID, $fields, true, true, array()); if ($successed) { //$DB->Commit(); $errors = array(); CCrmBizProcHelper::AutoStartWorkflows(CCrmOwnerType::Deal, $ID, CCrmBizProcEventType::Edit, $errors); $dbRes = CCrmDeal::GetListEx(array(), array('=ID' => $ID, 'CHECK_PERMISSIONS' => 'N')); $currentItem = $dbRes->GetNext(); $formatParams = isset($_REQUEST['FORMAT_PARAMS']) ? $_REQUEST['FORMAT_PARAMS'] : array(); CCrmMobileHelper::PrepareDealItem($currentItem, $formatParams); __CrmMobileDealEditEndResonse(array('SAVED_ENTITY_ID' => $ID, 'SAVED_ENTITY_DATA' => CCrmMobileHelper::PrepareDealData($currentItem))); } else { //$DB->Rollback(); __CrmMobileDealEditEndResonse(array('ERROR' => $fields['RESULT_MESSAGE'])); } } elseif ($action === 'CONVERT_MONEY') { __IncludeLang(dirname(__FILE__) . '/lang/' . LANGUAGE_ID . '/' . basename(__FILE__)); $srcCurrencyID = isset($_REQUEST['SRC_CURRENCY_ID']) ? $_REQUEST['SRC_CURRENCY_ID'] : CCrmCurrency::GetBaseCurrencyID(); $dstCurrencyID = isset($_REQUEST['DST_CURRENCY_ID']) ? $_REQUEST['DST_CURRENCY_ID'] : CCrmCurrency::GetBaseCurrencyID(); $srcSum = isset($_REQUEST['SUM']) ? doubleval($_REQUEST['SUM']) : 0.0; $dstSum = CCrmCurrency::ConvertMoney($srcSum, $srcCurrencyID, $dstCurrencyID); __CrmMobileDealEditEndResonse(array('SUM' => $dstSum, 'CURRENCY_ID' => $dstCurrencyID, 'CURRENCY_NAME' => CCrmCurrency::GetCurrencyName($dstCurrencyID), 'FORMATTED_SUM' => CCrmCurrency::MoneyToString($dstSum, $dstCurrencyID))); } else { __CrmMobileDealEditEndResonse(array('ERROR' => 'Action is not supported in current context.')); }
$arBizprocList = array(); foreach ($arDeal['BIZPROC_LIST'] as $arBizproc) { $arBizprocList[] = array('ICONCLASS' => 'bizproc', 'TITLE' => $arBizproc['DESCRIPTION'], 'TEXT' => $arBizproc['NAME'], 'ONCLICK' => "jsUtils.Redirect([], '" . CUtil::JSEscape($arBizproc['PATH_TO_BIZPROC_START']) . "');"); } $arActions[] = array('ICONCLASS' => 'bizproc', 'TITLE' => GetMessage('CRM_DEAL_BIZPROC_LIST_TITLE'), 'TEXT' => GetMessage('CRM_DEAL_BIZPROC_LIST'), 'MENU' => $arBizprocList); } } if ($arDeal['DELETE'] && !$arResult['INTERNAL']) { $arActions[] = array('SEPARATOR' => true); $arActions[] = array('ICONCLASS' => 'delete', 'TITLE' => GetMessage('CRM_DEAL_DELETE_TITLE'), 'TEXT' => GetMessage('CRM_DEAL_DELETE'), 'ONCLICK' => "crm_deal_delete_grid('" . CUtil::JSEscape(GetMessage('CRM_DEAL_DELETE_TITLE')) . "', '" . CUtil::JSEscape(GetMessage('CRM_DEAL_DELETE_CONFIRM')) . "', '" . CUtil::JSEscape(GetMessage('CRM_DEAL_DELETE')) . "', '" . CUtil::JSEscape($arDeal['PATH_TO_DEAL_DELETE']) . "')"); } $contactID = isset($arDeal['~CONTACT_ID']) ? intval($arDeal['~CONTACT_ID']) : 0; $companyID = isset($arDeal['~COMPANY_ID']) ? intval($arDeal['~COMPANY_ID']) : 0; $resultItem = array('id' => $arDeal['ID'], 'actions' => $arActions, 'data' => $arDeal, 'editable' => !$arDeal['EDIT'] ? $arResult['INTERNAL'] ? 'N' : $arColumns : 'Y', 'columns' => array('DEAL_SUMMARY' => CCrmViewHelper::RenderInfo($arDeal['PATH_TO_DEAL_SHOW'], isset($arDeal['TITLE']) ? $arDeal['TITLE'] : '[' . $arDeal['ID'] . ']', $arDeal['DEAL_TYPE_NAME'], '_self'), 'DEAL_CLIENT' => $contactID > 0 ? CCrmViewHelper::PrepareClientInfo(array('ENTITY_TYPE_ID' => CCrmOwnerType::Contact, 'ENTITY_ID' => $contactID, 'TITLE' => isset($arDeal['~CONTACT_FORMATTED_NAME']) ? $arDeal['~CONTACT_FORMATTED_NAME'] : '[' . $contactID . ']', 'PREFIX' => "DEAL_{$arDeal['~ID']}", 'DESCRIPTION' => isset($arDeal['~COMPANY_TITLE']) ? $arDeal['~COMPANY_TITLE'] : '')) : ($companyID > 0 ? CCrmViewHelper::PrepareClientInfo(array('ENTITY_TYPE_ID' => CCrmOwnerType::Company, 'ENTITY_ID' => $companyID, 'TITLE' => isset($arDeal['~COMPANY_TITLE']) ? $arDeal['~COMPANY_TITLE'] : '[' . $companyID . ']', 'PREFIX' => "DEAL_{$arDeal['~ID']}"), $arDeal['PATH_TO_COMPANY_SHOW'], isset($arDeal['COMPANY_TITLE']) ? $arDeal['COMPANY_TITLE'] : '', '') : ''), 'COMPANY_ID' => $companyID > 0 ? CCrmViewHelper::PrepareClientInfo(array('ENTITY_TYPE_ID' => CCrmOwnerType::Company, 'ENTITY_ID' => $companyID, 'TITLE' => isset($arDeal['~COMPANY_TITLE']) ? $arDeal['~COMPANY_TITLE'] : '[' . $companyID . ']', 'PREFIX' => "DEAL_{$arDeal['~ID']}"), $arDeal['PATH_TO_COMPANY_SHOW'], isset($arDeal['COMPANY_TITLE']) ? $arDeal['COMPANY_TITLE'] : '', '') : '', 'CONTACT_ID' => $contactID > 0 ? CCrmViewHelper::PrepareClientInfo(array('ENTITY_TYPE_ID' => CCrmOwnerType::Contact, 'ENTITY_ID' => $contactID, 'TITLE' => isset($arDeal['~CONTACT_FORMATTED_NAME']) ? $arDeal['~CONTACT_FORMATTED_NAME'] : '[' . $contactID . ']', 'PREFIX' => "DEAL_{$arDeal['~ID']}")) : '', 'TITLE' => '<a target="_self" href="' . $arDeal['PATH_TO_DEAL_SHOW'] . '" class="' . ($arDeal['BIZPROC_STATUS'] != '' ? 'bizproc bizproc_status_' . $arDeal['BIZPROC_STATUS'] : '') . '" ' . ($arDeal['BIZPROC_STATUS_HINT'] != '' ? 'onmouseover="BX.hint(this, \'' . CUtil::JSEscape($arDeal['BIZPROC_STATUS_HINT']) . '\');"' : '') . '>' . $arDeal['TITLE'] . '</a>', 'CLOSED' => $arDeal['CLOSED'] == 'Y' ? GetMessage('MAIN_YES') : GetMessage('MAIN_NO'), 'ASSIGNED_BY' => $arDeal['~ASSIGNED_BY'] > 0 ? '<a href="' . $arDeal['PATH_TO_USER_PROFILE'] . '" id="balloon_' . $arResult['GRID_ID'] . '_' . $arDeal['ID'] . '">' . $arDeal['ASSIGNED_BY'] . '</a>' . '<script type="text/javascript">BX.tooltip(' . $arDeal['~ASSIGNED_BY'] . ', "balloon_' . $arResult['GRID_ID'] . '_' . $arDeal['ID'] . '", "");</script>' : '', 'COMMENTS' => htmlspecialcharsback($arDeal['COMMENTS']), 'SUM' => '<nobr>' . $arDeal['FORMATTED_OPPORTUNITY'] . '</nobr>', 'OPPORTUNITY' => '<nobr>' . $arDeal['OPPORTUNITY'] . '</nobr>', 'PROBABILITY' => intval($arDeal['PROBABILITY']) . '%', 'DATE_CREATE' => '<nobr>' . FormatDate('SHORT', MakeTimeStamp($arDeal['DATE_CREATE'])) . '</nobr>', 'DATE_MODIFY' => '<nobr>' . FormatDate('SHORT', MakeTimeStamp($arDeal['DATE_MODIFY'])) . '</nobr>', 'TYPE_ID' => isset($arResult['TYPE_LIST'][$arDeal['TYPE_ID']]) ? $arResult['TYPE_LIST'][$arDeal['TYPE_ID']] : $arDeal['TYPE_ID'], 'EVENT_ID' => isset($arResult['EVENT_LIST'][$arDeal['EVENT_ID']]) ? $arResult['EVENT_LIST'][$arDeal['EVENT_ID']] : $arDeal['EVENT_ID'], 'CURRENCY_ID' => CCrmCurrency::GetCurrencyName($arDeal['CURRENCY_ID']), 'PRODUCT_ID' => isset($arDeal['PRODUCT_ROWS']) ? htmlspecialcharsbx(CCrmProductRow::RowsToString($arDeal['PRODUCT_ROWS'])) : '', 'STATE_ID' => isset($arResult['STATE_LIST'][$arDeal['STATE_ID']]) ? $arResult['STATE_LIST'][$arDeal['STATE_ID']] : $arDeal['STATE_ID'], 'STAGE_ID' => CCrmViewHelper::RenderDealStageControl(array('PREFIX' => "{$arResult['GRID_ID']}_PROGRESS_BAR_", 'ENTITY_ID' => $arDeal['~ID'], 'CURRENT_ID' => $arDeal['~STAGE_ID'], 'SERVICE_URL' => '/bitrix/components/bitrix/crm.deal.list/list.ajax.php', 'READ_ONLY' => !(isset($arDeal['EDIT']) && $arDeal['EDIT'] === true))), 'ORIGINATOR_ID' => isset($arDeal['ORIGINATOR_NAME']) ? $arDeal['ORIGINATOR_NAME'] : '', 'CREATED_BY' => $arDeal['~CREATED_BY'] > 0 ? '<a href="' . $arDeal['PATH_TO_USER_CREATOR'] . '" id="balloon_' . $arResult['GRID_ID'] . '_' . $arDeal['ID'] . '">' . $arDeal['CREATED_BY_FORMATTED_NAME'] . '</a>' . '<script type="text/javascript">BX.tooltip(' . $arDeal['~CREATED_BY'] . ', "balloon_' . $arResult['GRID_ID'] . '_' . $arDeal['ID'] . '", "");</script>' : '', 'MODIFY_BY' => $arDeal['~MODIFY_BY'] > 0 ? '<a href="' . $arDeal['PATH_TO_USER_MODIFIER'] . '" id="balloon_' . $arResult['GRID_ID'] . '_' . $arDeal['ID'] . '">' . $arDeal['MODIFY_BY_FORMATTED_NAME'] . '</a>' . '<script type="text/javascript">BX.tooltip(' . $arDeal['~MODIFY_BY'] . ', "balloon_' . $arResult['GRID_ID'] . '_' . $arDeal['ID'] . '", "");</script>' : '') + $arResult['DEAL_UF'][$sKey]); $userActivityID = isset($arDeal['~ACTIVITY_ID']) ? intval($arDeal['~ACTIVITY_ID']) : 0; $commonActivityID = isset($arDeal['~C_ACTIVITY_ID']) ? intval($arDeal['~C_ACTIVITY_ID']) : 0; if ($userActivityID > 0) { $resultItem['columns']['ACTIVITY_ID'] = CCrmViewHelper::RenderNearestActivity(array('ENTITY_TYPE_NAME' => CCrmOwnerType::ResolveName(CCrmOwnerType::Deal), 'ENTITY_ID' => $arDeal['~ID'], 'ENTITY_RESPONSIBLE_ID' => $arDeal['~ASSIGNED_BY'], 'GRID_MANAGER_ID' => $gridManagerID, 'ACTIVITY_ID' => $userActivityID, 'ACTIVITY_SUBJECT' => isset($arDeal['~ACTIVITY_SUBJECT']) ? $arDeal['~ACTIVITY_SUBJECT'] : '', 'ACTIVITY_TIME' => isset($arDeal['~ACTIVITY_TIME']) ? $arDeal['~ACTIVITY_TIME'] : '', 'ACTIVITY_EXPIRED' => isset($arDeal['~ACTIVITY_EXPIRED']) ? $arDeal['~ACTIVITY_EXPIRED'] : '', 'ALLOW_EDIT' => $arDeal['EDIT'], 'MENU_ITEMS' => $arActivityMenuItems)); $counterData = array('CURRENT_USER_ID' => $currentUserID, 'ENTITY' => $arDeal, 'ACTIVITY' => array('RESPONSIBLE_ID' => $currentUserID, 'TIME' => isset($arDeal['~ACTIVITY_TIME']) ? $arDeal['~ACTIVITY_TIME'] : '', 'IS_CURRENT_DAY' => isset($arDeal['~ACTIVITY_IS_CURRENT_DAY']) ? $arDeal['~ACTIVITY_IS_CURRENT_DAY'] : false)); if (CCrmUserCounter::IsReckoned(CCrmUserCounter::CurrentDealActivies, $counterData)) { $resultItem['columnClasses'] = array('ACTIVITY_ID' => 'crm-list-deal-today'); } } elseif ($commonActivityID > 0) { $resultItem['columns']['ACTIVITY_ID'] = CCrmViewHelper::RenderNearestActivity(array('ENTITY_TYPE_NAME' => CCrmOwnerType::ResolveName(CCrmOwnerType::Deal), 'ENTITY_ID' => $arDeal['~ID'], 'ENTITY_RESPONSIBLE_ID' => $arDeal['~ASSIGNED_BY'], 'GRID_MANAGER_ID' => $gridManagerID, 'ACTIVITY_ID' => $commonActivityID, 'ACTIVITY_SUBJECT' => isset($arDeal['~C_ACTIVITY_SUBJECT']) ? $arDeal['~C_ACTIVITY_SUBJECT'] : '', 'ACTIVITY_TIME' => isset($arDeal['~C_ACTIVITY_TIME']) ? $arDeal['~C_ACTIVITY_TIME'] : '', 'ACTIVITY_RESPONSIBLE_ID' => isset($arDeal['~C_ACTIVITY_RESP_ID']) ? intval($arDeal['~C_ACTIVITY_RESP_ID']) : 0, 'ACTIVITY_RESPONSIBLE_LOGIN' => isset($arDeal['~C_ACTIVITY_RESP_LOGIN']) ? $arDeal['~C_ACTIVITY_RESP_LOGIN'] : '', 'ACTIVITY_RESPONSIBLE_NAME' => isset($arDeal['~C_ACTIVITY_RESP_NAME']) ? $arDeal['~C_ACTIVITY_RESP_NAME'] : '', 'ACTIVITY_RESPONSIBLE_LAST_NAME' => isset($arDeal['~C_ACTIVITY_RESP_LAST_NAME']) ? $arDeal['~C_ACTIVITY_RESP_LAST_NAME'] : '', 'ACTIVITY_RESPONSIBLE_SECOND_NAME' => isset($arDeal['~C_ACTIVITY_RESP_SECOND_NAME']) ? $arDeal['~C_ACTIVITY_RESP_SECOND_NAME'] : '', 'NAME_TEMPLATE' => $arParams['NAME_TEMPLATE'], 'PATH_TO_USER_PROFILE' => $arParams['PATH_TO_USER_PROFILE'], 'ALLOW_EDIT' => $arDeal['EDIT'], 'MENU_ITEMS' => $arActivityMenuItems)); } else { $resultItem['columns']['ACTIVITY_ID'] = CCrmViewHelper::RenderNearestActivity(array('ENTITY_TYPE_NAME' => CCrmOwnerType::ResolveName(CCrmOwnerType::Deal), 'ENTITY_ID' => $arDeal['~ID'], 'ENTITY_RESPONSIBLE_ID' => $arDeal['~ASSIGNED_BY'], 'GRID_MANAGER_ID' => $gridManagerID, 'ALLOW_EDIT' => $arDeal['EDIT'], 'MENU_ITEMS' => $arActivityMenuItems)); $counterData = array('CURRENT_USER_ID' => $currentUserID, 'ENTITY' => $arDeal); if (CCrmUserCounter::IsReckoned(CCrmUserCounter::CurrentDealActivies, $counterData)) { $resultItem['columnClasses'] = array('ACTIVITY_ID' => 'crm-list-enitity-action-need');