• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/activity/provider/task.php
  • Класс: Bitrix\Crm\Activity\Provider\Task
  • Вызов: Task::processRestorationFromRecycleBin
static function processRestorationFromRecycleBin(array $activityFields, array $params = null)
{
	if(!is_array($params))
	{
		$params = array();
	}

	$activityTypeID = isset($activityFields['TYPE_ID'])
		? (int)$activityFields['TYPE_ID'] : \CCrmActivityType::Undefined;

	$associatedEntityID = isset($activityFields['ASSOCIATED_ENTITY_ID'])
		? (int)$activityFields['ASSOCIATED_ENTITY_ID'] : 0;

	$bindings = isset($activityFields['BINDINGS']) && is_array($activityFields['BINDINGS'])
		? $activityFields['BINDINGS'] : array();

	$providerId = $activityFields['PROVIDER_ID'] ?? null;
	$result = new Main\Result();
	if(
		$associatedEntityID > 0 && !empty($bindings)
		&& (
			$activityTypeID === \CCrmActivityType::Task ||
			(
				$activityTypeID === \CCrmActivityType::Provider && $providerId === Activity\Provider\Tasks\Task::getId()
			)
		)
	)
	{
		if(isset($params['creationParams']) && is_array($params['creationParams']))
		{
			self::$creationParams[$associatedEntityID] = $params['creationParams'];
		}

		self::bindExternalEntity($associatedEntityID, $bindings);
		$createActivityID = self::resolveActivityID($associatedEntityID);
		if($createActivityID > 0)
		{
			$result->setData(array('isCreated' => true, 'entityId' => $createActivityID));
		}
	}
	return $result;
}