Работа с файлами

Команды этого раздела позволяют управлять вложениями в задачах: добавлять и удалять файлы.

Примечание: все команды располагаются в пространсве имен Bitrix\Tasks\V2\Public\Command\Task\Attachment

AttachFilesCommand

AttachFilesCommand прикрепляет один или несколько файлов к задаче. Файлы должны быть предварительно загружены в файловое хранилище.

Входные аргументы:

Параметр Тип Обязательный Описание
$taskId int Да ID задачи для прикрепления файлов
$userId int Да ID пользователя, выполняющего действие
$fileIds array Да Массив строчных ID объектов диска для прикрепления
$useConsistency bool Нет Использовать консистентность данных (по умолчанию false)

Пример использования:

use Bitrix\Tasks\V2\Public\Command\Task\Attachment\AttachFilesCommand;

$command = new AttachFilesCommand(
    taskId: 123,
    userId: 1,
    fileIds: [
        "n10",
        "n20",
        "n30"
    ],
    useConsistency: true
);

$result = $command->run();

if ($result->isSuccess()) {
    echo "Файлы успешно прикреплены.";
} else {
    // Обработка ошибок
}

В приведенном примере 10, 20 и 30 - это идентификаторы файлов (объектов диска), которые загружены в модуль Диск.

DetachFilesCommand

DetachFilesCommand открепляет один или несколько файлов от задачи. Сами файлы при этом не удаляются из системы.

Входные аргументы:

Параметр Тип Обязательный Описание
$taskId int Да ID задачи, у которой удаляются файлы
$userId int Да ID пользователя, выполняющего действие
$fileIds array Да Массив ID объектов диска для открепления
$useConsistency bool Нет Использовать консистентность данных (по умолчанию false)

Пример использования:

use Bitrix\Tasks\V2\Public\Command\Task\Attachment\DetachFilesCommand;

$command = new DetachFilesCommand(
    taskId: 123,
    userId: 1,
    fileIds: [10, 20],
    useConsistency: false
);

$result = $command->run();

if ($result->isSuccess()) {
    echo "Файлы успешно откреплены.";
} else {
    // Обработка ошибок
}