- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/statistics/leadconversionstatisticsentry.php
- Класс: Bitrix\Crm\Statistics\LeadConversionStatisticsEntry
- Вызов: LeadConversionStatisticsEntry::getBindingCount
static function getBindingCount($ownerID, $bindingTypeID)
{
if($bindingTypeID === \CCrmOwnerType::Contact)
{
//Only one Contact is allowed per Lead
$query = new Query(Crm\ContactTable::getEntity());
$query->registerRuntimeField('', new ExpressionField('X', '1'));
$query->addFilter('=LEAD_ID', $ownerID);
$results = $query->exec()->fetch();
return is_array($results) ? 1 : 0;
}
elseif($bindingTypeID === \CCrmOwnerType::Company)
{
//Only one Company is allowed per Lead
$query = new Query(Crm\CompanyTable::getEntity());
$query->registerRuntimeField('', new ExpressionField('X', '1'));
$query->addFilter('=LEAD_ID', $ownerID);
$results = $query->exec()->fetch();
return is_array($results) ? 1 : 0;
}
elseif($bindingTypeID === \CCrmOwnerType::Deal)
{
$query = new Query(Crm\DealTable::getEntity());
$query->registerRuntimeField('', new ExpressionField('QTY', 'COUNT(*)'));
$query->addSelect('QTY');
$query->addFilter('=LEAD_ID', $ownerID);
$results = $query->exec()->fetch();
return isset($results['QTY']) ? (int)$results['QTY'] : 0;
}
return 0;
}