При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Получить параметры карточки элементов crm.item.details.configuration.get», разберем архитектурные особенности и предоставим готовые к интеграции примеры кода.
Получить параметры карточки элементов crm.item.details.configuration.get
> Scope: crm
>
> Кто может выполнять метод: проверка прав при выполнении метода зависит от переданных данных:
> — Любой пользователь имеет право получить свои и общие настройки
> — Пользователь имеет право получить чужие настройки только если он является администратором
Метод возвращает настройки карточки определенного объекта CRM. Может работать как с личными настройками карточки указанного пользователя, так и с общими настройками, заданными для всех пользователей.
Параметры метода
Названиетип | Описание |
|---|---|
| entityTypeId* [ integer][1] | Идентификатор системного или пользовательского типа объектов CRM |
| userId [ user][1] | Идентификатор пользователя, чью конфигурацию вы хотите получить. Если данный параметр не передан, то будет взят Нужен только при запросе личных настроек |
| scope [ string][1] | Область применения настроек. Допустимые значения: — 'P' — личные настройки— 'C' — общие настройкиПо умолчанию значение равно |
| extras [ object][1] | Дополнительные параметры. Возможные значения и их структура описана ниже |
extras
Параметр в extras зависит от объекта CRM.
| Объект CRM | Название | Описание |
|---|---|---|
| Смарт-процесс | categoryId | Идентификатор воронки смарт-процессов. Можно получить с помощью crm.category.list.Если не указано, то берется идентификатор воронки по умолчанию для данного смарт-процесса |
| Сделка | dealCategoryId | Идентификатор воронки сделок. Можно получить с помощью crm.category.list.Если не указан, то берется идентификатор воронки по умолчанию для сделок |
| Лид | leadCustomerType | Тип лидов. Возможные значения: |
Примеры кода
1. Получить общую конфигурацию карточки элементов для сделок, находящихся в воронке с 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.get- 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.get- JS
BX24.callMethod(
'crm.item.details.configuration.get',
{
entityTypeId: 2,
userId: 1,
scope: "C",
extras: {
dealCategoryId: 9,
},
},
(result) => {
if (result.error())
{
console.error(result.error());
return;
}
console.info(result.data());
},
);- PHP
require_once('crest.php');
$result = CRest::call(
'crm.item.details.configuration.get',
[
'entityTypeId' => 2,
'userId' => 1,
'scope' => "C",
'extras' => [
'dealCategoryId' => 9,
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';2. Получить личную конфигурацию карточки элементов смарт-процесса с entityTypeId = 1032 в воронке с id = 5
- cURL (Webhook)
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"entityTypeId":1032,"extras":{"categoryId":5}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.item.details.configuration.get- cURL (OAuth)
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"entityTypeId":1032,"extras":{"categoryId":5},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/crm.item.details.configuration.get- JS
BX24.callMethod(
'crm.item.details.configuration.get',
{
entityTypeId: 1032,
extras: {
categoryId: 5,
},
},
(result) => {
if (result.error())
{
console.error(result.error());
return;
}
console.info(result.data());
},
);- PHP
require_once('crest.php');
$result = CRest::call(
'crm.item.details.configuration.get',
[
'entityTypeId' => 1032,
'extras' => [
'categoryId' => 5,
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';Обработка ответа
HTTP-статус: 200
{
"result": [
{
"name": "main",
"title": "О сделке",
"type": "section",
"elements": [
{
"name": "TITLE",
"optionFlags": "0"
},
{
"name": "STAGE_ID",
"optionFlags": "0"
},
{
"name": "OPPORTUNITY_WITH_CURRENCY",
"optionFlags": "0"
},
{
"name": "CLOSEDATE",
"optionFlags": "0"
},
{
"name": "CLIENT",
"optionFlags": "1",
"options": {
"defaultCountry": "RU"
}
},
{
"name": "UF_CRM_1686898039656",
"optionFlags": "1"
}
]
},
{
"name": "additional",
"title": "Дополнительно",
"type": "section",
"elements": [
{
"name": "TYPE_ID",
"optionFlags": "0"
},
{
"name": "SOURCE_ID",
"optionFlags": "0"
},
{
"name": "SOURCE_DESCRIPTION",
"optionFlags": "0"
},
{
"name": "BEGINDATE",
"optionFlags": "0"
},
{
"name": "OPENED",
"optionFlags": "0"
},
{
"name": "ASSIGNED_BY_ID",
"optionFlags": "0"
},
{
"name": "OBSERVER",
"optionFlags": "0"
},
{
"name": "COMMENTS",
"optionFlags": "0"
},
{
"name": "UTM",
"optionFlags": "0"
}
]
},
{
"name": "products",
"title": "Товары",
"type": "section",
"elements": [
{
"name": "PRODUCT_ROW_SUMMARY",
"optionFlags": "0"
}
]
},
{
"name": "recurring",
"title": "Регулярная сделка",
"type": "section",
"elements": [
{
"name": "RECURRING",
"optionFlags": "0"
}
]
}
],
"time": {
"start": 1720624891.017344,
"finish": 1720624891.405621,
"duration": 0.3882770538330078,
"processing": 0.02097320556640625,
"date_start": "2024-07-10T17:21:31+02:00",
"date_finish": "2024-07-10T17:21:31+02:00",
"operating": 0
}
}Возвращаемые данные
Названиетип | Описание | |
|---|---|---|
resultsection[]\ | null | Корневой элемент ответа. Содержит конфигурацию разделов детальной карточки элемента. Возвращает null в случае отсутствия конфигурации |
| time [ time][1] | Информация о времени выполнения запроса |
section
Описывает отдельно взятый раздел с полями внутри карточки элемента
Названиетип | Описание |
|---|---|
| name [ string][1] | Уникальное название раздела, используемое для идентификации |
| title [ string][1] | Название раздела |
| type [ string][1] | Тип раздела |
elementssection_element[] | Список выводимых в карточку полей сущности с дополнительными настройками |
section_element
Конфигурация отдельно взятого поля внутри раздела
Названиетип | Описание |
|---|---|
| name [ string][1] | Идентификатор поля |
| optionFlags [ string][1] | Значения: — "1" — показывать всегда— "0" — показывать не всегда |
| options [ object][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-set)
- [](./crm-item-details-configuration-reset)
- [](./crm-item-details-configuration-forceCommonScopeForAll)
[1]: ../../../data-types.md
💡 Экспертное мнение и рекомендации
Практические рекомендации:
- При написании кастомных компонентов для «Получить параметры карточки элементов crm.item.details.configuration.get» всегда разделяйте бизнес-логику и представление (шаблон).
- Используйте отладку SQL-запросов через конструкцию
$wpdb->last_queryили стандартный трекер Битрикса, чтобы контролировать нагрузку.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru