Вызвать диалог выбора объектов CRM BX24.selectCRM
Выберите инструмент для разработки с AI-агентом:
- используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
- используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации
BX24.selectCRM(params: object, callback: callable): void;
Метод BX24.selectCRM показывает стандартный диалог выбора лидов, контактов, компаний, сделок и предложений.
Диалог рисует сам Битрикс24 поверх фрейма приложения. Приложению не нужно получать список элементов CRM: пользователь видит в диалоге только доступные ему элементы. Собственный scope диалогу не нужен — он открывает интерфейс Битрикс24, а не обращается к REST API.
Вызвать метод можно только из приложения, встроенного во фрейм Битрикс24. Вызывайте его внутри обработчика BX24.init.
Параметры метода
Обязательные параметры отмечены *
|
Название |
Описание |
|
entityType |
Типы объектов, которые нужно вывести в диалоге. Возможные значения:
Неподдерживаемые значения метод исключает из списка. Если не передать параметр или после исключения значений список окажется пустым, метод покажет лиды, контакты и компании |
|
multiple |
Разрешает выбрать несколько объектов. По умолчанию — |
|
value |
Объекты, которые нужно отметить выбранными при открытии диалога (подробное описание). Идентификаторы меньше единицы метод игнорирует. Если |
|
callback* |
Функция обратного вызова, которая получает выбранные объекты CRM (подробное описание) |
Параметр value
Ключ объекта value — тип объекта CRM, значение — массив числовых идентификаторов. Передавайте только типы, указанные в параметре entityType.
|
Название |
Описание |
|
lead |
Идентификаторы лидов |
|
contact |
Идентификаторы контактов |
|
company |
Идентификаторы компаний |
|
deal |
Идентификаторы сделок |
|
quote |
Идентификаторы предложений |
Пример кода
Показать диалог множественного выбора, отметить несколько элементов и вывести выбранные объекты:
BX24.init(() => {
BX24.selectCRM(
{
entityType: ['lead', 'contact', 'company', 'deal', 'quote'],
multiple: true,
value: {
lead: [1348, 2, 35],
contact: [2],
company: [4, 3],
deal: [1, 2],
quote: [1]
}
},
(selected) => {
console.log(selected);
}
);
});
Как использовать примеры в документации
Обработка ответа
Диалог не возвращает данные напрямую. После подтверждения выбора функция callback получает объект, в котором элементы сгруппированы по типам CRM: lead, contact, company, deal, quote.
Если пользователь закрыл диалог крестиком или кнопкой отмены, функция callback не вызывается.
{
"lead": {
"0": {
"id": "L_1348",
"type": "lead",
"place": "lead",
"title": "Мятный гость №2 - Открытая линия Битрикс",
"desc": "Гость",
"url": "/crm/lead/show/1348/"
}
},
"contact": {
"0": {
"id": "C_2",
"type": "contact",
"place": "contact",
"title": "Пупкин Василий",
"desc": "",
"url": "/crm/contact/show/2/",
"image": "/upload/resize_cache/crm/8b5/25_25_2/MM35_PG13.jpg"
}
},
"company": {},
"deal": {},
"quote": {}
}
Возвращаемые данные
Каждый ключ объекта содержит выбранные элементы соответствующего типа. Элементы хранятся под числовыми ключами 0, 1 и далее.
|
Название |
Описание |
|
lead |
Выбранные лиды |
|
contact |
Выбранные контакты |
|
company |
Выбранные компании |
|
deal |
Выбранные сделки |
|
quote |
Выбранные предложения |
Поля выбранного элемента
|
Название |
Описание |
|
id |
Идентификатор элемента с префиксом типа: |
|
type |
Тип элемента CRM: |
|
place |
Тип элемента в интерфейсе диалога |
|
title |
Название элемента |
|
desc |
Дополнительное описание элемента. Содержание зависит от типа объекта |
|
url |
Относительный путь к карточке элемента CRM |
|
image |
Относительный путь к изображению элемента. Поле может отсутствовать |
|
largeImage |
Относительный путь к крупному изображению элемента. Поле может отсутствовать |
|
customData |
Дополнительные данные элемента. Поле возвращается, если данные передал компонент выбора |
|
advancedInfo |
Расширенная информация об элементе. Поле возвращается, если данные передал компонент выбора |
Обработка ошибок
Кодов ошибок диалог не возвращает. Неподдерживаемые значения entityType и некорректные идентификаторы в value метод игнорирует. Если пользователь закрыл диалог без подтверждения выбора, функция callback не вызывается.