Документация для разработчиков
Темная тема

delete

\Bitrix\Main\ORM\Data\DeleteResult public static
\Bitrix\Catalog\Model\Product::delete(
	$id
);

Метод удаляет запись товара из таблицы каталога и связанные с ней данные каталога. Элемент инфоблока остается в системе. Статический метод.

Метод переопределяет реализацию \Bitrix\Catalog\Model\Entity::delete(). Он не отправляет события модели Entity, но сохраняет события ORM-таблицы и запускает собственную очистку связанных данных каталога.

Параметры

Параметр Описание
$id Идентификатор товара, для которого нужно удалить запись каталога

Возвращаемое значение

Метод возвращает объект \Bitrix\Main\ORM\Data\DeleteResult. Объект содержит результат операции и ошибки удаления.

Исключения

  • \Bitrix\Main\ObjectNotFoundException — модель не смогла получить объект ORM-таблицы товара.

Особенности

Метод удаляет цены, коэффициенты единиц измерения, настройки группового доступа, складские остатки, подписки и записи комплектов, связанные с товаром.

Чтобы удалить элемент инфоблока вместе с данными товара, используйте API элементов инфоблока.

Пример

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

<?php

use Bitrix\Catalog\Model\Product;
use Bitrix\Main\Loader;
use Bitrix\Main\ObjectNotFoundException;

if (!Loader::includeModule('catalog'))
{
	throw new RuntimeException('Не удалось подключить модуль catalog');
}

// Идентификатор товара, данные каталога которого можно удалить
$productId = 123;

try
{
	$result = Product::delete($productId);

	if (!$result->isSuccess())
	{
		echo implode(PHP_EOL, $result->getErrorMessages());
		return;
	}

	echo 'Данные товара удалены из каталога';
}
catch (ObjectNotFoundException $exception)
{
	echo 'Не удалось удалить данные товара: ' . $exception->getMessage();
}


© «Битрикс», 2001-2026, «1С-Битрикс», 2026