$fields['FM']['PHONE'][] = array('VALUE' => $phone); } } } if ($hasEmails) { $fieldNames[] = 'FM.EMAIL'; $fields['FM']['EMAIL'] = array(); foreach ($emails as $email) { if (is_string($email) && $email !== '') { $fields['FM']['EMAIL'][] = array('VALUE' => $email); } } } } $adapter = \Bitrix\Crm\EntityAdapterFactory::create($fields, CCrmOwnerType::Company); $dups = $checker->findDuplicates($adapter, new \Bitrix\Crm\Integrity\DuplicateSearchParams($fieldNames)); $entityInfoByType = array(); foreach ($dups as &$dup) { /** @var \Bitrix\Crm\Integrity\Duplicate $dup */ $entities = $dup->getEntities(); if (!(is_array($entities) && !empty($entities))) { continue; } //Each entity type limited by 50 items foreach ($entities as &$entity) { /** @var \Bitrix\Crm\Integrity\DuplicateEntity $entity */ $entityTypeID = $entity->getEntityTypeID(); $entityID = $entity->getEntityID(); if (!isset($entityInfoByType[$entityTypeID])) { $entityInfoByType[$entityTypeID] = array($entityID => array()); } elseif (count($entityInfoByType[$entityTypeID]) < 50 && !isset($entityInfoByType[$entityTypeID][$entityID])) {