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

Delete

Описание и параметры

bool
CPrice::Delete(
	int ID
);

Метод удаляет ценовое предложение с кодом ID. Нестатический метод.

Примечание: метод работает с двумя событиями: OnBeforePriceDelete и OnPriceDelete. Событие OnBeforePriceDelete позволяет отменить удаление ценового предложения. Событие OnPriceDelete дает возможность провести какие-то операции одновременно с удалением цены.

Параметры метода

ПараметрОписание
ID Код ценового предложения.

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

Возвращает значение true в случае успешного удаления и false - в противном случае.

Смотрите также

Методы

События

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

<?
// Удалим цену с кодом 11
CPrice::Delete(11);
?>


Пользовательские комментарии

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

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
0
Артемий Зайцев
Сообщение не промодерировано, возможны ошибки и неточности.
Начиная с catalog 17.6.0 вместо CPrice::Delete(11); новый метод $result = \Bitrix\Catalog\Model\Price::delete(11); if (!$result->isSuccess()) {}

Описание метода

public static function delete($id): ORM\Data\DeleteResult

Метод статический, возвращает объект Bitrix\Main\ORM\Data\DeleteResult


Использование (catalog 24.300.0):

Вызов \Bitrix\Catalog\Model\Price::delete(11); вызывает warning в Bitrix\Main\ORM\Data\Result->__destruct( ), в случае если где-то есть обработчик, запрещающий удалять цену.

Надо обязательно указать переменную в которую вернуть результат и проверить результат методом isSuccess(без параметров), getErrors или getErrorMessages


Код
// Будет Warning, если не Success

\Bitrix\Catalog\Model\Price::delete(11);

[22-Mar-2025 21:50:20 Europe/Moscow] PHP Warning:  Ваше сообщение об ошибке in .../bitrix/modules/main/lib/orm/data/result.php on line 87
[22-Mar-2025 21:50:20 Europe/Moscow] PHP Stack trace:
[22-Mar-2025 21:50:20 Europe/Moscow] PHP   1. Bitrix\Main\ORM\Data\Result->__destruct() .../bitrix/modules/main/lib/orm/data/result.php:0
[22-Mar-2025 21:50:20 Europe/Moscow] PHP   2. trigger_error($message = ' Ваше сообщение об ошибке', $error_level = 512) .../bitrix/modules/main/lib/orm/data/result.php:87
Код
// надо вернуть результат в переменную и сделать любой из методов $result->isSuccess(), $result->getErrors() или $result->getErrorMessages()

$result = \Bitrix\Catalog\Model\Price::delete(11);
if (!$result->isSuccess())
{
  echo "Ошибка";
  echo "<pre>"; print_r( $result->getErrors() ) ;echo "</pre>";
  echo "<pre>"; print_r( $result->getErrorMessages() ) ;echo "</pre>";
}


Причина
Код
class Result extends \Bitrix\Main\Result
{
  public function __destruct()
  {
     if (!$this->isSuccess && !$this->wereErrorsChecked)
     {
        // nobody interested in my errors :(
        // make a warning (usually it should be written in log)
        trigger_error(join('; ', $this->getErrorMessages()), E_USER_WARNING);
     }
  }
}
0
Артемий Зайцев
Сообщение не промодерировано, возможны ошибки и неточности.
Начиная с catalog 17.6.0 вместо CPrice::Delete(11); новый метод \Bitrix\Catalog\Model\Price::delete(11);
© «Битрикс», 2001-2025, «1С-Битрикс», 2025
Наверх