• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/activity/provider/task.php
  • Класс: Bitrix\Crm\Activity\Provider\Task
  • Вызов: Task::createFromTask
static function createFromTask(
	$taskId,
	&$taskFields,
	$checkPerms = true,
	$regEvent = true)
{
	$entityCount = \CCrmActivity::getList(
		array(),
		array(
			'=TYPE_ID' =>  \CCrmActivityType::Task,
			'=ASSOCIATED_ENTITY_ID' => $taskId,
			'CHECK_PERMISSIONS' => 'N'
		),
		array(),
		false,
		false
	);

	if(is_int($entityCount) && $entityCount > 0)
	{
		return false;
	}

	$activity = array();
	self::setFromTask($taskId, $taskFields, $activity);
	if(isset($activity['BINDINGS']) && count($activity['BINDINGS']) > 0)
	{
		//Stub for communication is required for activity list optimization (see \CCrmActivity::PrepareClientInfos)
		$activity['COMMUNICATIONS'] = self::prepareCommunications($activity);
		return \CCrmActivity::Add($activity, $checkPerms, $regEvent, array('SKIP_ASSOCIATED_ENTITY' => true, 'REGISTER_SONET_EVENT' => true));
	}

	return false;
}