← К заметкам

Заметки

Как создать задачу с файлами с Диска через 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 обрабатывайте как отказ создания, а не как задачу без файла.