Вызвать диалог выбора объектов 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
array

Типы объектов, которые нужно вывести в диалоге. Возможные значения:

  • lead — лиды
  • contact — контакты
  • company — компании
  • deal — сделки
  • quote — предложения

Неподдерживаемые значения метод исключает из списка. Если не передать параметр или после исключения значений список окажется пустым, метод покажет лиды, контакты и компании

multiple
boolean

Разрешает выбрать несколько объектов. По умолчанию — false

value
object

Объекты, которые нужно отметить выбранными при открытии диалога (подробное описание).

Идентификаторы меньше единицы метод игнорирует. Если multiple равен false и в value передано несколько элементов, выбранным останется первый элемент

callback*
callable

Функция обратного вызова, которая получает выбранные объекты CRM (подробное описание)

Параметр value

Ключ объекта value — тип объекта CRM, значение — массив числовых идентификаторов. Передавайте только типы, указанные в параметре entityType.

Название
тип

Описание

lead
integer[]

Идентификаторы лидов

contact
integer[]

Идентификаторы контактов

company
integer[]

Идентификаторы компаний

deal
integer[]

Идентификаторы сделок

quote
integer[]

Идентификаторы предложений

Пример кода

Показать диалог множественного выбора, отметить несколько элементов и вывести выбранные объекты:

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
object

Выбранные лиды

contact
object

Выбранные контакты

company
object

Выбранные компании

deal
object

Выбранные сделки

quote
object

Выбранные предложения

Поля выбранного элемента

Название
тип

Описание

id
string

Идентификатор элемента с префиксом типа: L_ — лид, C_ — контакт, CO_ — компания, D_ — сделка, Q_ — предложение

type
string

Тип элемента CRM: lead, contact, company, deal или quote

place
string

Тип элемента в интерфейсе диалога

title
string

Название элемента

desc
string

Дополнительное описание элемента. Содержание зависит от типа объекта

url
string

Относительный путь к карточке элемента CRM

image
string

Относительный путь к изображению элемента. Поле может отсутствовать

largeImage
string

Относительный путь к крупному изображению элемента. Поле может отсутствовать

customData
any

Дополнительные данные элемента. Поле возвращается, если данные передал компонент выбора

advancedInfo
any

Расширенная информация об элементе. Поле возвращается, если данные передал компонент выбора

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

Кодов ошибок диалог не возвращает. Неподдерживаемые значения entityType и некорректные идентификаторы в value метод игнорирует. Если пользователь закрыл диалог без подтверждения выбора, функция callback не вызывается.

Продолжите изучение