• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/activity/provider/task.php
  • Класс: Bitrix\Crm\Activity\Provider\Task
  • Вызов: Task::prepareCommunications
static function prepareCommunications(array $activity)
{
	$bindings = isset($activity['BINDINGS']) && is_array($activity['BINDINGS']) ? $activity['BINDINGS'] : array();
	if(empty($bindings))
	{
		return array();
	}

	$communications = array();
	foreach($bindings as $binding)
	{
		$ownerID = isset($binding['OWNER_ID']) ? (int)$binding['OWNER_ID'] : 0;
		$ownerTypeID = isset($binding['OWNER_TYPE_ID']) ? (int)$binding['OWNER_TYPE_ID'] : 0;
		if($ownerID > 0
			&& ($ownerTypeID === \CCrmOwnerType::Contact || $ownerTypeID === \CCrmOwnerType::Company || $ownerTypeID === \CCrmOwnerType::Lead))
		{
			$communication = array('ENTITY_ID' => $ownerID, 'ENTITY_TYPE_ID' => $ownerTypeID);
			\CCrmActivity::PrepareCommunicationInfo($communication);

			if(isset($communication['ENTITY_SETTINGS']))
			{
				$communications[] = $communication;
				break;
			}
		}
	}

	return $communications;
}