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

delete

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

Метод удаляет цену товара и запускает события и автоматические действия модели. Статический метод. Метод унаследован от \Bitrix\Catalog\Model\Entity.

Параметры

ПараметрОписание
$idИдентификатор удаляемой цены

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

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

Особенности

После успешного удаления метод обновляет внутренний кеш. Для цены торгового предложения метод может пересчитать минимальную цену родительского товара. Если данные товара доступны в кеше модели, метод обновляет время изменения элемента инфоблока.

Пример

Пример создает временную цену тестового товара и удаляет ее. У товара не должно быть цены того же типа для диапазона без границ количества.

<?php

use Bitrix\Catalog\Model\Price;
use Bitrix\Main\Loader;

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

// Идентификатор тестового товара
$productId = 123;
// Идентификатор типа цены, доступного для тестового товара
$priceTypeId = 1;
// Код существующей валюты
$currency = 'RUB';

try
{
	$addResult = Price::add([
		'fields' => [
			'PRODUCT_ID' => $productId,
			'CATALOG_GROUP_ID' => $priceTypeId,
			'PRICE' => 1000,
			'CURRENCY' => $currency,
		],
	]);

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

	$priceId = (int)$addResult->getId();
	$deleteResult = Price::delete($priceId);

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

	echo 'Временная цена удалена';
}
catch (Throwable $exception)
{
	echo $exception->getMessage();
}


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