• Модуль: voximplant
  • Путь к файлу: ~/bitrix/modules/voximplant/classes/general/vi_crm_helper.php
  • Класс: CVoxImplantCrmHelper
  • Вызов: CVoxImplantCrmHelper::findDealsByPhone
static function findDealsByPhone($phone)
{
	if ($phone == '')
	{
		return false;
	}

	if (!CModule::IncludeModule('crm'))
	{
		return false;
	}

	$deals = array();

	$entityTypeIDs = array(CCrmOwnerType::Contact, CCrmOwnerType::Company);
	foreach($entityTypeIDs as $entityTypeID)
	{
		$results = CCrmDeal::FindByCommunication($entityTypeID, 'PHONE', $phone, false, array('ID', 'TITLE', 'STAGE_ID', 'CATEGORY_ID', 'ASSIGNED_BY_ID', 'COMPANY_ID', 'CONTACT_ID', 'DATE_MODIFY'));
		foreach($results as $fields)
		{
			$semanticID = CCrmDeal::GetSemanticID(
				$fields['STAGE_ID'],
				(isset($fields['CATEGORY_ID']) ? $fields['CATEGORY_ID'] : 0)
			);

			if(BitrixCrmPhaseSemantics::isFinal($semanticID))
			{
				continue;
			}

			$entityID = (int)($entityTypeID === CCrmOwnerType::Company ? $fields['COMPANY_ID'] : $fields['CONTACT_ID']);
			if($entityID <= 0)
			{
				continue;
			}

			$deals[$fields['ID']] = $fields;
		}
	}

	sortByColumn($deals, array('DATE_MODIFY' => array(SORT_DESC)));

	return $deals;
}