...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_contact.php
- Класс: \CAllCrmContact
- Вызов: CAllCrmContact::RebuildDuplicateIndex
static function RebuildDuplicateIndex($IDs) { if(!is_array($IDs)) { $IDs = array($IDs); } $dbResult = self::GetListEx( array(), array('@ID' => $IDs, 'CHECK_PERMISSIONS' => 'N'), false, false, array('ID', 'NAME', 'SECOND_NAME', 'LAST_NAME', 'DATE_MODIFY') ); if(!is_object($dbResult)) { return; } $entityMultifields = DuplicateCommunicationCriterion::prepareBatchEntityMultifieldValues( CCrmOwnerType::Contact, $IDs ); $duplicateCriterionRegistrar = DuplicateManager::getCriterionRegistrarForReindex(\CCrmOwnerType::Contact); while($fields = $dbResult->Fetch()) { $ID = (int)$fields['ID']; $fields['FM'] = $entityMultifields[$ID] ?? null; $data = (new Crm\Integrity\CriterionRegistrar\Data()) ->setEntityTypeId(\CCrmOwnerType::Contact) ->setEntityId($ID) ->setCurrentFields($fields) ; $duplicateCriterionRegistrar->register($data); DuplicateRequisiteCriterion::registerByEntity(CCrmOwnerType::Contact, $ID); DuplicateBankDetailCriterion::registerByEntity(CCrmOwnerType::Contact, $ID); } }