- Модуль: 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");
}
}