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