public static function fillFilterReferenceColumn(&$filterElement, &$field) { if ($field->getRefEntityName() == '\\Bitrix\\Crm\\Company') { // CrmCompany if ($filterElement['value']) { $entity = CCrmCompany::GetById($filterElement['value']); if ($entity) { $filterElement['value'] = array('id' => $entity['ID'], 'name' => $entity['TITLE']); } else { $filterElement['value'] = array('id' => $filterElement['value'], 'name' => GetMessage('CRM_COMPANY_NOT_FOUND')); } } else { $filterElement['value'] = array('id' => ''); } } elseif ($field->getRefEntityName() == '\\Bitrix\\Crm\\Contact') { // CrmContact if ($filterElement['value']) { $entity = CCrmContact::GetById($filterElement['value']); if ($entity) { $filterElement['value'] = array('id' => $entity['ID'], 'name' => $entity['FULL_NAME']); } else { $filterElement['value'] = array('id' => $filterElement['value'], 'name' => GetMessage('CRM_CONTACT_NOT_FOUND')); } } else { $filterElement['value'] = array('id' => ''); } } elseif ($field->getRefEntityName() == '\\Bitrix\\Crm\\Invoice') { // CrmInvoice if ($filterElement['value']) { $entity = CCrmInvoice::GetById($filterElement['value']); if ($entity) { $filterElement['value'] = array('id' => $entity['ID'], 'name' => $entity['ORDER_TOPIC']); } else { $filterElement['value'] = array('id' => $filterElement['value'], 'name' => GetMessage('CRM_INVOICE_NOT_FOUND')); } } else { $filterElement['value'] = array('id' => ''); } } elseif ($field->getRefEntityName() == '\\Bitrix\\Crm\\Deal') { // CrmDeal if ($filterElement['value']) { $entity = CCrmDeal::GetById($filterElement['value']); if ($entity) { $filterElement['value'] = array('id' => $entity['ID'], 'name' => $entity['TITLE']); } else { $filterElement['value'] = array('id' => $filterElement['value'], 'name' => GetMessage('CRM_DEAL_NOT_FOUND')); } } else { $filterElement['value'] = array('id' => ''); } } elseif ($field->getRefEntityName() == '\\Bitrix\\Crm\\Lead') { // CrmLead if ($filterElement['value']) { $entity = CCrmLead::GetById($filterElement['value']); if ($entity) { $filterElement['value'] = array('id' => $entity['ID'], 'name' => $entity['TITLE']); } else { $filterElement['value'] = array('id' => $filterElement['value'], 'name' => GetMessage('CRM_LEAD_NOT_FOUND')); } } else { $filterElement['value'] = array('id' => ''); } } parent::fillFilterReferenceColumn($filterElement, $field); }