Заметки
Как создать задачу с файлами с Диска через PHP
В коробке существующий файл Диска можно прикрепить при создании задачи через классический CTaskItem. Используется ID объекта Диска с префиксом n:
if (!\Bitrix\Main\Loader::includeModule('tasks')) {
throw new RuntimeException('Модуль задач недоступен');
}
$author_id = 15;
$task = CTaskItem::add([
'TITLE' => 'Проверить договор',
'RESPONSIBLE_ID' => 28,
'UF_TASK_WEBDAV_FILES' => ['n456']
], $author_id);
echo $task->getId(); Код выполняется после загрузки ядра. 456 — существующий объект-файл Диска, 15 — пользователь, в контексте которого создаётся задача. Это не FILE_ID для CFile и не ID старого прикрепления.
Пользователь должен иметь возможность создать задачу и использовать этот файл. При переносе на новую версию модуля проверьте поддерживаемый механизм вложений и чтение результата. Ошибку API обрабатывайте как отказ создания, а не как задачу без файла.