Коды полей и идентификаторы в Битрикс24
Справочник по получению EntityTypeId, кодов пользовательских полей и полей связи в Битрикс24 Смарт-процессах через интерфейс CRM
Описание
Этот справочник содержит пошаговые инструкции по получению различных идентификаторов и кодов, необходимых для работы со Смарт-процессами в Битрикс24. Все методы описаны с использованием стандартного пользовательского интерфейса системы без программирования.
Как узнать EntityTypeId Смарт-процесса
Что это такое?
EntityTypeId
(ID типа сущности) — это уникальный числовой идентификатор типа Смарт-процесса в Битрикс24. Он необходим для работы с элементами через Factory API и автоматизации бизнес-процессов.
Через адресную строку браузера
Самый быстрый способ — просто посмотреть на URL в браузере:
- Откройте раздел CRM → Смарт-процессы
- Выберите нужный Смарт-процесс из списка
- Посмотрите на адресную строку браузера:
https://your-domain.bitrix24.ru/crm/type/1364/list/
^^^^
EntityTypeId
Число после /type/
и перед /list/
— это EntityTypeId вашего Смарт-процесса.
Справочная таблица стандартных сущностей
Для стандартных сущностей CRM EntityTypeId фиксированы:
Сущность | EntityTypeId | Код в API |
---|---|---|
Лиды | 1 | CCrmOwnerType::Lead |
Сделки | 2 | CCrmOwnerType::Deal |
Контакты | 3 | CCrmOwnerType::Contact |
Компании | 4 | CCrmOwnerType::Company |
Предложения | 7 | CCrmOwnerType::Quote |
Счета | 31 | CCrmOwnerType::Invoice |
Смарт-процессы имеют динамические ID (обычно от 128 и выше), которые назначаются автоматически при создании.
Важные особенности
✅ EntityTypeId НЕ изменяется после создания Смарт-процесса, даже если вы измените его название
✅ Каждый Смарт-процесс имеет уникальный EntityTypeId в рамках портала
❌ EntityTypeId разные на разных порталах — при переносе настроек всегда проверяйте актуальные значения
Типичные ошибки
❌ Использование EntityTypeId с другого портала:
$entityTypeId = 1364; // Может не существовать на вашем портале
✅ Правильный подход:
1. Откройте свой портал
2. Перейдите в нужный Смарт-процесс
3. Скопируйте ID из адресной строки
4. Используйте актуальный ID в коде
Пример использования в бизнес-процессах
После получения EntityTypeId
вы можете использовать его для выборки элементов Смарт-процесса в автоматизации. Подробные примеры работы с элементами см. в разделе Получение элементов Смарт-процессов.
Базовый пример:
// Получение всех элементов Смарт-процесса
$entityTypeId = 1364; // EntityTypeId из адресной строки
$factory = \Bitrix\Crm\Service\Container::getInstance()->getFactory($entityTypeId);
$items = $factory->getItems(['limit' => 500]);
Полный код с валидацией и обработкой ошибок см. в Примере 1.
Как узнать код пользовательского поля
Что это такое?
UserFieldCode
— это системный код пользовательского поля, который используется для обращения к полю в бизнес-процессах и автоматизации. Все пользовательские поля в CRM Битрикс24 имеют префикс UF_CRM_
.
Через инструменты разработчика браузера
Если код не отображается в настройках:
- Откройте карточку элемента Смарт-процесса (любого)
- Найдите нужное поле на странице
- Нажмите F12 для открытия DevTools (Инструменты разработчика)
- Нажмите Ctrl+Shift+C (или иконку “Select element”)
- Наведите курсор на поле и кликните
- В панели Elements найдите HTML-код поля:
<input type="text"
name="UF_CRM_1701234567" ← Это UserFieldCode
id="UF_CRM_1701234567"
value="Договор №12345">
Атрибут name
или id
содержит UserFieldCode.
Структура кода пользовательского поля
UF_CRM_1701234567890
│ │ └─────────────── Уникальный идентификатор (обычно timestamp)
│ └─────────────────── Префикс CRM
└────────────────────── Префикс пользовательского поля
Типичные форматы UserFieldCode
Формат | Описание | Пример |
---|---|---|
UF_CRM_XXXXX | Автоматически созданные | UF_CRM_1701234567 |
UF_CRM_CUSTOM_NAME | С кастомным кодом | UF_CRM_CONTRACT_NUMBER |
PARENT_ID_XXXX | Поля связи | PARENT_ID_1360 |
Важные особенности
✅ Код поля НЕ изменяется после создания (даже если переименуете поле в интерфейсе Б24)
✅ Коды регистрозависимы — всегда используйте точное написание с заглавными буквами
✅ Один Смарт-процесс может иметь неограниченное количество пользовательских полей
Типичные ошибки
❌ Использование названия вместо кода:
$filter = ['Номер договора' => '12345']; // НЕПРАВИЛЬНО
✅ Правильное использование:
$filter = ['UF_CRM_1701234567' => '12345']; // ПРАВИЛЬНО
❌ Неверный регистр:
$filter = ['uf_crm_1701234567' => '12345']; // НЕПРАВИЛЬНО (lowercase)
✅ Правильный регистр:
$filter = ['UF_CRM_1701234567' => '12345']; // ПРАВИЛЬНО (UPPERCASE)
Пример использования в бизнес-процессах
После определения UserFieldCode
вы можете использовать его для фильтрации элементов по значению пользовательского поля. Подробный пример с обработкой ошибок см. в разделе Получение элементов с фильтрацией.
Базовый пример:
// Фильтрация элементов по пользовательскому полю
$entityTypeId = 1364;
$userFieldCode = 'UF_CRM_1701234567'; // Код из DevTools
$userFieldValue = 'Договор №12345';
$factory = \Bitrix\Crm\Service\Container::getInstance()->getFactory($entityTypeId);
$items = $factory->getItems([
'filter' => [$userFieldCode => $userFieldValue],
'limit' => 500
]);
Полный код с валидацией входных параметров см. в Примере 2.
Как узнать код поля связи с родителем
Что это такое?
ParentFieldCode
— это код специального пользовательского поля типа “Привязка к элементам CRM”, которое создаёт иерархическую связь между элементами разных Смарт-процессов (родитель → дочерние элементы).
Когда используется?
Поле связи необходимо в сценариях:
Проект (родительский Смарт-процесс, ID=1360)
├── Задача 1 (дочерний Смарт-процесс, ID=1364)
├── Задача 2 (дочерний Смарт-процесс, ID=1364)
└── Задача 3 (дочерний Смарт-процесс, ID=1364)
Примеры использования:
- Проекты → Задачи
- Сделки → Этапы выполнения
- Заказы → Позиции заказа
- Обращения → Подзадачи
Через формат поля (самый быстрый)
Поля связи всегда имеют предсказуемый формат:
PARENT_ID_{PARENT_ENTITY_TYPE_ID}
Где {PARENT_ENTITY_TYPE_ID}
— это EntityTypeId родительского Смарт-процесса.
Алгоритм:
- Узнайте EntityTypeId родительского Смарт-процесса (см. раздел выше)
- Добавьте к нему префикс
PARENT_ID_
- Готово!
Примеры:
Родительский тип | EntityTypeId | ParentFieldCode |
---|---|---|
Проекты | 1360 | PARENT_ID_1360 |
Заказы | 1500 | PARENT_ID_1500 |
Сделки | 2 | PARENT_ID_2 |
Контакты | 3 | PARENT_ID_3 |
| ID | TITLE | PARENT_ID_1360 | STAGE_ID |
^^^^^^^^^^^^^^^
ParentFieldCode
Через карточку элемента и DevTools
- Откройте карточку дочернего элемента
- Найдите поле с привязкой к родителю
- Откройте F12 → Ctrl+Shift+C
- Кликните на поле
- В HTML-коде найдите:
<div class="crm-entity-widget-content-block"
data-cid="PARENT_ID_1360"> ← ParentFieldCode
...
</div>
Множественные связи
Один дочерний Смарт-процесс может иметь несколько полей связи с разными родителями в разных полях:
PARENT_ID_1360 // Связь с Проектами (Смарт-процесс 1360)
PARENT_ID_2 // Связь со Сделками (стандартная сущность)
PARENT_ID_3 // Связь с Контактами (стандартная сущность)
Как определить нужное:
- Посмотрите на название поля в настройках (например, “Проект”, “Сделка”)
- Найдите EntityTypeId соответствующего родителя
- Сформируйте код:
PARENT_ID_{TYPE_ID}
Важные особенности
✅ Поля связи создаются автоматически в “настройках смарт-процесса” => “связи”
✅ Название поля в интерфейсе может быть любым (“Проект”, “Основная сделка”), но код всегда PARENT_ID_{TYPE_ID}
✅ Для стандартных сущностий CRM используются их фиксированные ID:
- Сделки =
2
→PARENT_ID_2
- Контакты =
3
→PARENT_ID_3
- Компании =
4
→PARENT_ID_4
❌ Поле НЕ может быть множественным (привязка к нескольким родителям одного типа), но может быть несколько полей-связей с разными “родительскими элементами”
Типичные ошибки
❌ Использование неверного формата:
$parentFieldCode = 'UF_CRM_PARENT_1360'; // НЕПРАВИЛЬНО
✅ Правильный формат:
$parentFieldCode = 'PARENT_ID_1360'; // ПРАВИЛЬНО
❌ Путаница родительского и дочернего ID:
// У нас: дочерний процесс (ID=1364), родитель (ID=1360)
$parentFieldCode = 'PARENT_ID_1364'; // НЕПРАВИЛЬНО (это ID дочернего!)
✅ Правильно:
$parentFieldCode = 'PARENT_ID_1360'; // ПРАВИЛЬНО (это ID родительского)
❌ Использование названия поля вместо кода:
$filter = ['Проект' => 12345]; // НЕПРАВИЛЬНО
✅ Правильно:
$filter = ['PARENT_ID_1360' => 12345]; // ПРАВИЛЬНО
Пример использования в бизнес-процессах
После определения ParentFieldCode
вы можете получить все дочерние элементы конкретного родителя с исключением завершённых стадий. Это особенно полезно для работы с иерархическими структурами (Проект → Задачи, Заказ → Позиции).
Полный рабочий пример см. в разделе Получение дочерних элементов с исключением завершенных стадий.
Базовый пример:
// Получение активных дочерних элементов
$parentId = 12345; // ID родительского элемента
$smartProcessTypeId = 1364; // EntityTypeId дочернего Смарт-процесса
$parentFieldCode = 'PARENT_ID_1360'; // Код поля связи
$factory = \Bitrix\Crm\Service\Container::getInstance()->getFactory($smartProcessTypeId);
// Получение завершённых стадий для исключения
$finalStageIds = array();
$stages = $factory->getStages();
foreach ($stages as $stage) {
if ($stage->getSemantics() === \Bitrix\Crm\PhaseSemantics::SUCCESS ||
$stage->getSemantics() === \Bitrix\Crm\PhaseSemantics::FAILURE) {
$finalStageIds[] = $stage->getStatusId();
}
}
// Фильтрация
$filter = array($parentFieldCode => $parentId);
if (!empty($finalStageIds)) {
$filter['!STAGE_ID'] = $finalStageIds;
}
$items = $factory->getItems([
'filter' => $filter,
'limit' => 500
]);
Дополнительные возможности в примере:
- ✅ Генерация кодов элементов для REST API (формат
T5a4_123
) - ✅ Валидация всех входных параметров
- ✅ Обработка ошибок и установка статусов
- ✅ Предупреждение при достижении лимита выборки
Полный код с документацией см. в Примере 3.
Работа с элементами Смарт-процессов
После получения необходимых идентификаторов переходите к практическим примерам:
- Получение элементов Смарт-процессов — полное руководство с 3 готовыми примерами кода
- Пример 1: Базовое получение элементов — выборка всех элементов с валидацией
- Пример 2: Фильтрация по пользовательскому полю — поиск элементов по значению UF-поля
- Пример 3: Дочерние элементы без завершённых стадий — иерархические связи с генерацией API-кодов
Как узнать коды стандартных полей компаний
Что это такое?
Коды полей компаний — это системные названия полей, которые используются для фильтрации и выборки данных в бизнес-процессах. Стандартные поля имеют фиксированные коды и присутствуют у всех компаний.
Через инструменты разработчика браузера
- Откройте карточку любой компании в CRM
- Найдите нужное поле на странице
- Нажмите F12 → Ctrl+Shift+C
- Наведите курсор на поле и кликните
- В HTML найдите атрибут
name
:
<input type="text"
name="TITLE" ← Код поля
value="ООО Рога и Копыта">
Справочная таблица стандартных полей компаний
Код поля | Описание | Тип данных | Пример |
---|---|---|---|
ID | ID компании | int | 12345 |
TITLE | Название | string | “ООО Рога и Копыта” |
COMPANY_TYPE | Тип компании | string | CUSTOMER , PARTNER |
INDUSTRY | Отрасль | string | IT , MANUFACTURING |
ASSIGNED_BY_ID | Ответственный | int | ID пользователя |
CREATED_BY_ID | Кем создана | int | ID пользователя |
DATE_CREATE | Дата создания | datetime | “2024-01-15 10:30:00” |
OPENED | Доступна всем | string | Y / N |
CURRENCY_ID | Валюта | string | RUB , USD , EUR |
Пример использования
Полный пример см. в Получение компаний с фильтрацией.
PresetID реквизитов
Что это такое?
PresetID
— идентификатор типа реквизита компании.
Справочная таблица PresetID
PresetID | Тип | Описание |
---|---|---|
1 | Организация | Юридическое лицо (ООО, ЗАО, ПАО) |
3 | ИП | Индивидуальный предприниматель |
5 | Физлицо | Физическое лицо |
Пример использования
Полные примеры см. в Работа с реквизитами.
Коды полей реквизитов
Что это такое?
Коды полей реквизитов — системные названия для юридической информации. Префикс RQ_
.
Справочная таблица полей реквизитов
Код поля | Описание | Применимость |
---|---|---|
RQ_COMPANY_NAME | Сокращённое наименование | Все типы |
RQ_COMPANY_FULL_NAME | Полное наименование | Все типы |
RQ_INN | ИНН | Организация, ИП |
RQ_KPP | КПП | Только организация |
RQ_OGRN | ОГРН | Организация |
RQ_FIRST_NAME | Имя | ИП, Физлицо |
RQ_LAST_NAME | Фамилия | ИП, Физлицо |
ID типов активностей
Что это такое?
TYPE_ID
— идентификатор типа дела в CRM.
Справочная таблица типов активностей
TYPE_ID | Константа | Описание |
---|---|---|
1 | \CCrmActivityType::Meeting | Встреча |
2 | \CCrmActivityType::Call | Звонок |
4 | \CCrmActivityType::Email | |
6 | \CCrmActivityType::Task | Задача |
Пример использования
Полные примеры см. в Работа с активностями.
Коды мультиполей “Телефон” \ “Почта” \ “Сайт” \ “Мессенджер”
Что это такое?
Мультиполя — поля с множественными значениями (несколько телефонов, email).
Справочная таблица мультиполей
Код поля | Описание | Множественное |
---|---|---|
PHONE | Телефон | Да |
EMAIL | Да | |
WEB | Сайт | Да |
IM | Мессенджер | Да |
Пример использования
Полный пример см. в Поиск компаний по телефону и email.
Работа с компаниями в Битрикс24
После получения необходимых кодов переходите к практическим примерам:
- Получение компаний — выборка компаний с фильтрацией
- Работа с активностями — получение и создание дел
- Работа с комментариями — добавление комментариев
- Работа с реквизитами — управление реквизитами
Хотите следить за обновлениями?