Блог Горошко Андрея Bitrix24,PHP Сбросить параметры карточки элементов crm.item.details.configuration.reset

Сбросить параметры карточки элементов crm.item.details.configuration.reset

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Сбросить параметры карточки элементов crm.item.details.configuration.reset». Мы подготовили подробный разбор принципов работы и развернутые примеры интеграции.

Сбросить параметры карточки элементов crm.item.details.configuration.reset

> Название метода: crm.item.details.configuration.reset
>
> Scope: crm
>
> Кто может выполнять метод: проверка прав при выполнении метода зависит от переданных данных:
> — Любой пользователь имеет право сбросить свои личные настройки
> — Пользователь имеет право сбрасывать общие и чужие настройки только если он является администратором

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

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

Название
тип
Описание
entityTypeId*
[integer][1]
Идентификатор системного или пользовательского типа объектов CRM
userId
[user][1]
Идентификатор пользователя, чью конфигурацию вы хотите сбросить.

Если параметр не передан, то будет взят userId пользователя, вызывающего этот метод.

Нужен только при запросе личных настроек

scope
[string][1]
Область применения настроек. Допустимые значения:
— 'P' — личные настройки
— 'C' — общие настройки

По умолчанию значение равно 'P'

extras
[object][1]
Дополнительные параметры. Возможные значения и их структура описана ниже

extras

Параметр в extras зависит от объекта CRM.

Объект CRMНазваниеОписание
Смарт-процессcategoryIdИдентификатор воронки смарт-процессов. Можно получить с помощью crm.category.list.

Если не указано, то берется идентификатор воронки по умолчанию для данного смарт-процесса

СделкаdealCategoryIdИдентификатор воронки сделок. Можно получить с помощью crm.category.list.

Если не указан, то берется идентификатор воронки по умолчанию для сделок

ЛидleadCustomerTypeТип лидов.

Возможные значения:
— 1 — простые лиды
— 2 — повторные лиды

Примеры кода

Сбросить общую конфигурацию для карточек сделок в воронке с id = 9 для пользователя с id = 1

  • cURL (Webhook)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"entityTypeId":2,"userId":1,"scope":"C","extras":{"dealCategoryId":9}}' \
    https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.item.details.configuration.reset
  • cURL (OAuth)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"entityTypeId":2,"userId":1,"scope":"C","extras":{"dealCategoryId":9},"auth":"**put_access_token_here**"}' \
    https://**put_your_bitrix24_address**/rest/crm.item.details.configuration.reset
  • JS
    try
    {
    	const response = await $b24.callMethod(
    		'crm.item.details.configuration.reset',
    		{
    			entityTypeId: 2,
    			userId: 1,
    			scope: "C",
    			extras: {
    				dealCategoryId: 9,
    			},
    		}
    	);
    	
    	const result = response.getData().result;
    	console.info(result);
    }
    catch( error )
    {
    	console.error(error);
    }
  • PHP
    try {
        $response = $b24Service
            ->core
            ->call(
                'crm.item.details.configuration.reset',
                [
                    'entityTypeId' => 2,
                    'userId'       => 1,
                    'scope'        => "C",
                    'extras'       => [
                        'dealCategoryId' => 9,
                    ],
                ]
            );
    
        $result = $response
            ->getResponseData()
            ->getResult();
    
        if ($result->error()) {
            error_log($result->error());
            return;
        }
    
        echo 'Success: ' . print_r($result->data(), true);
    
    } catch (Throwable $e) {
        error_log($e->getMessage());
        echo 'Error resetting details configuration: ' . $e->getMessage();
    }
  • BX24.js
        BX24.callMethod(
            'crm.item.details.configuration.reset',
            {
                entityTypeId: 2,
                userId: 1,
                scope: "C",
                extras: {
                    dealCategoryId: 9,
                },
            },
            (result) => {
                if (result.error())
                {
                    console.error(result.error());

                    return;
                }

                console.info(result.data());
            },
        );
  • PHP CRest
    require_once('crest.php');

    $result = CRest::call(
        'crm.item.details.configuration.reset',
        [
            'entityTypeId' => 2,
            'userId' => 1,
            'scope' => 'C',
            'extras' => [
                'dealCategoryId' => 9,
            ]
        ]
    );

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

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

HTTP-статус: 200

{
    "result": true,
    "time": {
        "start": 1720687072.190654,
        "finish": 1720687072.586945,
        "duration": 0.39629101753234863,
        "processing": 0.057084083557128906,
        "date_start": "2024-07-11T10:37:52+02:00",
        "date_finish": "2024-07-11T10:37:52+02:00",
        "operating": 0
    }
}

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

Название
тип
Описание
result
[boolean][1]
Корневой элемент ответа. Возвращает true в случае успешного сброса настроек
time
[time][1]
Информация о времени выполнения запроса

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

HTTP-статус: 400

{
    "error": "",
    "error_description": "Parameter 'entityTypeId' is not defined"
}

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

КодОписаниеЗначение
Пустое значениеParameter ‘entityTypeId’ is not definedНе передан обязательный параметр entityTypeId
Пустое значениеThe entity type ‘entityTypeName‘ is not supported in current context.Метод не поддерживает данный тип сущности
Пустое значениеAccess denied.У пользователя нет административных прав
  • [](./index)
  • [](./crm-item-details-configuration-get)
  • [](./crm-item-details-configuration-set)
  • [](./crm-item-details-configuration-forceCommonScopeForAll)

[1]: ../../../data-types.md

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

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

  • При написании кастомных компонентов для «Сбросить параметры карточки элементов crm.item.details.configuration.reset» всегда разделяйте бизнес-логику и представление (шаблон).
  • Используйте отладку SQL-запросов через конструкцию $wpdb->last_query или стандартный трекер Битрикса, чтобы контролировать нагрузку.

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

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

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

Related Post

Общее апи: Подробное руководствоОбщее апи: Подробное руководство

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

Событие при добавлении пользовательского поля реквизита onCrmRequisiteUserFie…Событие при добавлении пользовательского поля реквизита onCrmRequisiteUserFie…

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Событие при добавлении пользовательского поля реквизита onCrmRequisiteUserFie…». Мы подготовили подробный разбор принципов работы и развернутые

Как использовать метод SDK method.get в Битрикс24Как использовать метод SDK method.get в Битрикс24

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Как использовать метод SDK method.get в Битрикс24». Мы подготовили подробный разбор принципов работы и развернутые