Блог Горошко Андрея 1C-Битрикс Работа с корзиной (Recycle Bin) через API: Удаление и восстановление сущностей

Работа с корзиной (Recycle Bin) через API: Удаление и восстановление сущностей

Модуль «Корзина» (recyclebin) позволяет не удалять данные безвозвратно, а временно сохранять их с возможностью восстановления.

Это стандарт для задач, сделок CRM и элементов инфоблоков.

1. Перемещение в корзину

Если сущность поддерживает корзину (например, задачи), стандартный метод Delete часто имеет опцию «в корзину». Но можно использовать и прямой API корзины для своих сущностей.

use Bitrix\Recyclebin\Recyclebin;

// Регистрируем удаление
$recyclebin = new Recyclebin($moduleId, $entityType, $entityId);
$recyclebin->setName("Название удаленного элемента");
$recyclebin->setData(['field1' => 'value1', 'field2' => 'value2']); // Сохраняем данные для восстановления
$result = $recyclebin->save();

if ($result->isSuccess()) {
    echo "Элемент перемещен в корзину. ID записи: " . $result->getId();
    // Теперь можно физически удалять данные из основной таблицы
}

2. Поиск в корзине

use Bitrix\Recyclebin\Internals\RecyclebinTable;

$res = RecyclebinTable::getList([
    'filter' => [
        '=MODULE_ID' => 'my.module',
        '=ENTITY_TYPE' => 'my_entity'
    ]
]);

while ($item = $res->fetch()) {
    echo "Удаленный элемент: {$item['NAME']} (ID в корзине: {$item['ID']})";
}

3. Восстановление из корзины

$recyclebinId = 10; // ID записи в корзине

$result = Recyclebin::restore($recyclebinId);

if ($result->isSuccess()) {
    echo "Элемент восстановлен!";
}

При восстановлении сработает событие OnBeforeRecycleBinRestore, где ваш модуль должен получить сохраненные данные (getData()) и заново создать запись в своей таблице.

Вывод:
Интеграция с модулем recyclebin — правило хорошего тона для важных данных.

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


Recyclebin, корзина битрикс, CRecycleBin, удаление в корзину, восстановление из корзины, API корзины, OnBeforeRecycleBinAdd

Похожая задача в бизнесе?

Помогу автоматизировать процессы и внедрить ИИ

Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.

Добавить комментарий

Related Post

Получить описание полей привязки поставщика к документу складского учета cata…Получить описание полей привязки поставщика к документу складского учета cata…

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Получить описание полей привязки поставщика к документу складского

Комплексный перезапуск и репозиционирование интернет-магазина на 1С-Битрикс под ключКомплексный перезапуск и репозиционирование интернет-магазина на 1С-Битрикс под ключ

Миграция сайта на платформу 1С-Битрикс или комплексный редизайн интерфейса — это стратегический шаг для устранения технических ограничений, защиты от санкционных рисков и масштабирования онлайн-продаж. Услуга «Комплексный перезапуск и репозиционирование интернет-магазина

Исправление ошибок в модуле интернет-магазина (Sale / Catalog)Исправление ошибок в модуле интернет-магазина (Sale / Catalog)

Профессиональная поддержка, модернизация и оптимизация производительности сайта на 1С-Битрикс — это гарантия высокой конверсии, стабильности продаж и защиты от киберугроз. Услуга «Исправление ошибок в модуле интернет-магазина (Sale / Catalog)» включает