• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/dispatcher/publicaction/task.php
  • Класс: BitrixTasksDispatcherPublicActionTask
  • Вызов: Task::setResponsible
public function setResponsible($id, $responsibleId)
{
	$result = [];

	$oldTask = TaskModel::createFromId((int)$id);
	$newTask = clone $oldTask;
	$members = $newTask->getMembers();
	$members[RoleDictionary::ROLE_RESPONSIBLE] = [
		(int)$responsibleId
	];
	$newTask->setMembers($members);

	if (!(new TaskAccessController($this->userId))->check(ActionDictionary::ACTION_TASK_CHANGE_RESPONSIBLE, $oldTask, $newTask))
	{
		$this->addForbiddenError();
		return $result;
	}

	$task = CTaskItem::getInstance($id, UtilUser::getId());
	$task->update(array('RESPONSIBLE_ID' => $responsibleId));

	return $result;
}