• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integrity/duplicateindexmismatch.php
  • Класс: Bitrix\Crm\Integrity\DuplicateIndexMismatch
  • Вызов: DuplicateIndexMismatch::getMismatches
static function getMismatches($entityTypeID, $entityID, $typeID, $matchHash, $userID, $limit = 0)
{
	if(!is_int($limit))
	{
		$limit = (int)$limit;
	}

	$results = array();

	$query = new Main\Entity\Query(Entity\DuplicateIndexMismatchTable::getEntity());
	$query->addSelect('R_ENTITY_ID', 'ENTITY_ID');
	$query->addFilter('=USER_ID', $userID);
	$query->addFilter('=ENTITY_TYPE_ID', $entityTypeID);
	$query->addFilter('=TYPE_ID', $typeID);
	$query->addFilter('=MATCH_HASH', $matchHash);
	$query->addFilter('=L_ENTITY_ID', $entityID);

	if($limit > 0)
	{
		$query->addOrder('R_ENTITY_ID', 'ASC');
		$query->setLimit($limit);
	}

	$dbResult = $query->exec();
	while($fields = $dbResult->fetch())
	{
		$results[(int)$fields['ENTITY_ID']] = true;
	}

	$query = new Main\Entity\Query(Entity\DuplicateIndexMismatchTable::getEntity());
	$query->addSelect('L_ENTITY_ID', 'ENTITY_ID');
	$query->addFilter('=USER_ID', $userID);
	$query->addFilter('=ENTITY_TYPE_ID', $entityTypeID);
	$query->addFilter('=TYPE_ID', $typeID);
	$query->addFilter('=MATCH_HASH', $matchHash);
	$query->addFilter('=R_ENTITY_ID', $entityID);

	if($limit > 0)
	{
		$query->addOrder('L_ENTITY_ID', 'ASC');
		$query->setLimit($limit);
	}

	$dbResult = $query->exec();
	while($fields = $dbResult->fetch())
	{
		$results[(int)$fields['ENTITY_ID']] = true;
	}

	return array_keys($results);
}