...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_deal.php
- Класс: \CAllCrmDeal
- Вызов: CAllCrmDeal::FindByCommunication
static function FindByCommunication($entityTypeID, $type, $value, $checkPermissions = true, array $select = null, array $order = null) { if(!is_int($entityTypeID)) { $entityTypeID = (int)$entityTypeID; } if($entityTypeID !== CCrmOwnerType::Contact && $entityTypeID !== CCrmOwnerType::Company) { return array(); } $criterion = new \Bitrix\Crm\Integrity\DuplicateCommunicationCriterion($type, $value); /** @var \Bitrix\Crm\Integrity\Duplicate $duplicate */ $duplicate = $criterion->find($entityTypeID, 20); if($duplicate === null) { return array(); } $entityIDs = array(); $entities = $duplicate->getEntities(); foreach($entities as $entity) { /** @var \Bitrix\Crm\Integrity\DuplicateEntity $entity */ $entityIDs[] = $entity->getEntityID(); } //return $entityMap; if($select === null) { $select = array(); } if($order === null) { $order = array(); } if(empty($entityIDs)) { return array(); } if($entityTypeID === CCrmOwnerType::Contact) { $filter = array('@CONTACT_ID' => $entityIDs); } else//($entityTypeID === CCrmOwnerType::Company) { $filter = array('@COMPANY_ID' => $entityIDs); } if (!$checkPermissions) { $filter['CHECK_PERMISSIONS'] = 'N'; } $results = array(); $dbResult = self::GetListEx($order, $filter, false, false, $select); if(is_object($dbResult)) { while($filelds = $dbResult->Fetch()) { $results[] = $filelds; } } return $results; }