c 2012 года нет решения... отлично!
Возможно кому-то поможет:
$taskId={=A83035_24125_98990_15141:TaskId}; // получаем id созданной в БП задачи
$fileAttach = CFile::GetByID('{=Variable:budget_blank}')->Fetch(); //получаем данные приаттаченного в БП файла
//у меня задача создаётся от текущего пользователя, возможно кому-то пригодится
global $USER;
$USER_ID = $USER->GetID(); //берём ID текущего пользователя
//сохраняем файл, чтобы он был доступен на диске (вот так хочет битрикс - )
CModule::IncludeModule("tasks");
$storage = Bitrix\Disk\Driver::getInstance()->getStorageByUserId($USER_ID);
$folder = $storage->getFolderForUploadedFiles();
$arFile = CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"]."/upload/".$fileAttach['SUBDIR']."/".$fileAttach['FILE_NAME']);
$file = $folder->uploadFile($arFile, array(
'NAME' => $arFile["name"],
'CREATED_BY' => $USER_ID
), array(), true);
//конец сохранения файла
// получаем ID сохраненного файла
$FILE_ID = $file->getId();
//крепим файл к задаче
$oTaskItem = new CTaskItem($taskId, $USER_ID);
$rs = $oTaskItem->Update(array("UF_TASK_WEBDAV_FILES" => Array("n$FILE_ID")));
//Burn, bitrix, BURN!
Комментарии из кода надо удалить, а то работать не будет =)
Возможно кому-то поможет:
$taskId={=A83035_24125_98990_15141:TaskId}; // получаем id созданной в БП задачи
$fileAttach = CFile::GetByID('{=Variable:budget_blank}')->Fetch(); //получаем данные приаттаченного в БП файла
//у меня задача создаётся от текущего пользователя, возможно кому-то пригодится
global $USER;
$USER_ID = $USER->GetID(); //берём ID текущего пользователя
//сохраняем файл, чтобы он был доступен на диске (вот так хочет битрикс - )
CModule::IncludeModule("tasks");
$storage = Bitrix\Disk\Driver::getInstance()->getStorageByUserId($USER_ID);
$folder = $storage->getFolderForUploadedFiles();
$arFile = CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"]."/upload/".$fileAttach['SUBDIR']."/".$fileAttach['FILE_NAME']);
$file = $folder->uploadFile($arFile, array(
'NAME' => $arFile["name"],
'CREATED_BY' => $USER_ID
), array(), true);
//конец сохранения файла
// получаем ID сохраненного файла
$FILE_ID = $file->getId();
//крепим файл к задаче
$oTaskItem = new CTaskItem($taskId, $USER_ID);
$rs = $oTaskItem->Update(array("UF_TASK_WEBDAV_FILES" => Array("n$FILE_ID")));
//Burn, bitrix, BURN!
Комментарии из кода надо удалить, а то работать не будет =)