• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/merger/entitymergerfactory.php
  • Класс: Bitrix\Crm\Merger\EntityMergerFactory
  • Вызов: EntityMergerFactory::create
static function create($entityTypeID, $currentUserID, $enablePermissionCheck = false)
{
	if(!is_int($entityTypeID))
	{
		$entityTypeID = (int)$entityTypeID;
	}

	if(!\CCrmOwnerType::IsDefined($entityTypeID))
	{
		throw new Main\ArgumentException('Is not defined', 'entityTypeID');
	}

	if($entityTypeID === \CCrmOwnerType::Lead)
	{
		return new LeadMerger($currentUserID, $enablePermissionCheck);
	}
	elseif($entityTypeID === \CCrmOwnerType::Deal)
	{
		return new DealMerger($currentUserID, $enablePermissionCheck);
	}
	elseif($entityTypeID === \CCrmOwnerType::Contact)
	{
		return new ContactMerger($currentUserID, $enablePermissionCheck);
	}
	elseif($entityTypeID === \CCrmOwnerType::Company)
	{
		return new CompanyMerger($currentUserID, $enablePermissionCheck);
	}
	else
	{
		throw new Main\NotSupportedException("Entity type: '".\CCrmOwnerType::ResolveName($entityTypeID)."' is not supported in current context");
	}
}