• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integrity/duplicatemanager.php
  • Класс: Bitrix\Crm\Integrity\DuplicateManager
  • Вызов: DuplicateManager::getCriterionRegistrarForReindex
static function getCriterionRegistrarForReindex(int $entityTypeId): CriterionRegistrar
{
	if ($entityTypeId === \CCrmOwnerType::Lead)
	{
		return new CriterionRegistrar\Decorator\OrganizationCriterion(
			new CriterionRegistrar\Decorator\PersonCriterion(
				new CriterionRegistrar\Decorator\CommunicationCriterion(
					new CriterionRegistrar\Decorator\VolatileCriterionReindex(
						new CriterionRegistrar\EntityRanking(),
					),
				),
			),
			Item\Lead::FIELD_NAME_COMPANY_TITLE,
		);
	}

	if ($entityTypeId === \CCrmOwnerType::Company)
	{
		return new CriterionRegistrar\Decorator\OrganizationCriterion(
			new CriterionRegistrar\Decorator\CommunicationCriterion(
				new CriterionRegistrar\Decorator\VolatileCriterionReindex(
					new CriterionRegistrar\EntityRanking(),
				),
			),
			Item::FIELD_NAME_TITLE,
		);
	}

	if ($entityTypeId === \CCrmOwnerType::Contact)
	{
		return new CriterionRegistrar\Decorator\PersonCriterion(
			new CriterionRegistrar\Decorator\CommunicationCriterion(
				new CriterionRegistrar\Decorator\VolatileCriterionReindex(
					new CriterionRegistrar\EntityRanking(),
				),
			),
		);
	}

	return new CriterionRegistrar\NullRegistrar();
}