Example #1
0
                 $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])) {