← Назад к заметкам

Заметки

Как переименовать папку Диска по ID

Как переименовать папку Диска в коробочном Bitrix24 через D7: объект Folder, права и отличие от прямого обновления таблицы.

Папку Диска в коробке лучше переименовывать через объект `Folder` и метод `rename`, а не прямым обновлением таблиц. Главное — убедиться, что у вас ID именно папки Диска.

Задача

Иногда папка на Диске уже создана автоматически, но её нужно переименовать по ID: например, после изменения названия сделки, номера договора или клиента.

Переименование через D7

В коробке лучше работать с высокоуровневым объектом Диска, а не обновлять таблицу напрямую. Для папки есть метод rename.

use Bitrix\Main\Loader;
use Bitrix\Disk\Folder;

const FOLDER_ID = 9043;
const NEW_FOLDER_NAME = 'Сделка 123 — ООО Ромашка';

Loader::includeModule('disk');

$folder = Folder::getById(FOLDER_ID);

if (!$folder) {
    echo 'Папка не найдена';

    return;
}

$result = $folder->rename(NEW_FOLDER_NAME);

if (!$result) {
    echo 'Папка не переименована';

    return;
}

echo 'Папка переименована';

Так Битрикс сам обработает связанные проверки, индексацию и внутреннюю логику модуля Диск.

Права и пользователь

Переименование должно выполняться от пользователя, у которого есть право редактирования папки, или из административного скрипта, где вы осознанно обходите пользовательский интерфейс.

Если папка не находится по ID, сначала проверьте, что это именно ID объекта Диска, а не ID файловой записи или прикреплённого объекта.

Путь не главное

Папку лучше искать и переименовывать по ID объекта. Путь и имя могут меняться, особенно если папки создаются автоматически по сделкам или клиентам.

$folder = Bitrix\Disk\Folder::getById(FOLDER_ID);

if ($folder) {
    echo $folder->getName();
}