예제 #1
0
 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);
 }