Блог Горошко Андрея 1C-Битрикс,Bitrix24 Удалить привязку свойства sale.propertyRelation.deleteByFilter

Удалить привязку свойства sale.propertyRelation.deleteByFilter

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Удалить привязку свойства sale.propertyRelation.deleteByFilter», проанализируем лучшие практики и покажем, как правильно использовать sale.propertyRelation.deleteByFilter в реальных задачах.

Удалить привязку свойства sale.propertyRelation.deleteByFilter

> Scope: sale
>
> Кто может выполнять метод: администратор

Метод sale.propertyRelation.deleteByFilter удаляет привязку свойства.

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

Название
тип
Описание
fields
object
Значения полей для удаления привязки свойства

Параметр fields

Параметр
тип
Описание
entityId
integer
Идентификатор сущности
entityType
string
Тип сущности:
— P — платежная система
— D — доставка
— L — лендинг
— T — торговая платформа
propertyId
sale_order_property.id
Идентификатор свойства

Примеры кода

  • cURL (Webhook)
    -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"fields":{"entityId":6,"entityType":"D","propertyId":40}}' \
    https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/sale.propertyRelation.deleteByFilter
  • cURL (OAuth)
    -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"fields":{"entityId":6,"entityType":"D","propertyId":40},"auth":"**put_access_token_here**"}' \
    https://**put_your_bitrix24_address**/rest/sale.propertyRelation.deleteByFilter
  • JS
    try
    {
    	const response = await $b24.callMethod(
    		'sale.propertyRelation.deleteByFilter', 
    		{
    			fields: {
    				entityId: 6,
    				entityType: 'D',
    				propertyId: 40
    			}
    		}
    	);
    	
    	const result = response.getData().result;
    	console.log(result);
    }
    catch(error)
    {
    	console.error(error);
    }
  • PHP
    try {
        $response = $b24Service
            ->core
            ->call(
                'sale.propertyRelation.deleteByFilter',
                [
                    'fields' => [
                        'entityId'    => 6,
                        'entityType'  => 'D',
                        'propertyId'  => 40
                    ]
                ]
            );
    
        $result = $response
            ->getResponseData()
            ->getResult();
    
        if ($result->error()) {
            error_log($result->error());
        } else {
            echo 'Success: ' . print_r($result->data(), true);
        }
    
    } catch (Throwable $e) {
        error_log($e->getMessage());
        echo 'Error deleting property relation: ' . $e->getMessage();
    }
  • BX24.js
    BX24.callMethod(
        'sale.propertyRelation.deleteByFilter', 
        {
            fields: {
                entityId: 6,
                entityType: 'D',
                propertyId: 40
            }
        }, 
        function(result)
        {
            if(result.error())
                console.error(result.error());
            else
                console.log(result.data());
        }
    );
  • PHP CRest
    require_once('crest.php');

    $result = CRest::call(
        'sale.propertyRelation.deleteByFilter',
        [
            'fields' => [
                'entityId' => 6,
                'entityType' => 'D',
                'propertyId' => 40
            ]
        ]
    );

    echo '<PRE>';
    print_r($result);
    echo '</PRE>';

Обработка ответа

HTTP-статус: 200

{
    "result": true,
    "time": {
        "start": 1712301886.43654,
        "finish": 1712301886.884087,
        "duration": 0.44754719734191895,
        "processing": 0.040498971939086914,
        "date_start": "2024-04-05T10:24:46+03:00",
        "date_finish": "2024-04-05T10:24:46+03:00"
    }
}

Возвращаемые данные

Название
тип
Описание
result
boolean
Результат удаления привязки свойства
time
time
Информация о времени выполнения запроса

Обработка ошибок

HTTP-статус: 400

{
    "error":201640400004,
    "error_description":"property relation is not exists"
}

Возможные коды ошибок

КодОписание
201640400004Привязка свойства с указанными параметрами не найдена
200040300010Недостаточно прав для удаления привязки свойства
100Не указан или пустой параметр fields
0Не указан обязательный параметр
0Другие ошибки (например, фатальные ошибки)
  • [](./sale-property-relation-add)
  • [](./sale-property-relation-list)
  • [](./sale-property-relation-get-fields)

💡 Экспертное мнение и рекомендации

Практические рекомендации:

  • При написании кастомных компонентов для «Удалить привязку свойства sale.propertyRelation.deleteByFilter» всегда разделяйте бизнес-логику и представление (шаблон).
  • Используйте отладку SQL-запросов через конструкцию $wpdb->last_query или стандартный трекер Битрикса, чтобы контролировать нагрузку.

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

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

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

Related Post

Обновление свойств элемента инфоблока 1с BitrixОбновление свойств элемента инфоблока 1с Bitrix

SetPropertyValuesEx() — это метод для сохранения значений свойств элемента информационного блока в БД. Этот метод более экономен в количестве запросов к БД, чем SetPropertyValues(), потому что может не содержать полный

Ускорение интернет-магазина на Битрикс по стандартам Google PageSpeedУскорение интернет-магазина на Битрикс по стандартам Google PageSpeed

Услуга «Ускорение интернет-магазина на Битрикс по стандартам Google PageSpeed» предназначена для компаний, стремящихся получить технологическое превосходство над конкурентами, ускорить работу сайта и обеспечить бесперебойную обработку тысяч заказов. оптимизация изображений, ленивая

Получить свойство товаров по идентификатору crm.product.property.getПолучить свойство товаров по идентификатору crm.product.property.get

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Получить свойство товаров по идентификатору crm.product.property.get», проанализируем лучшие