Описание

Этот справочник содержит пошаговые инструкции по получению различных идентификаторов и кодов, необходимых для работы со Смарт-процессами в Битрикс24. Все методы описаны с использованием стандартного пользовательского интерфейса системы без программирования.


Как узнать EntityTypeId Смарт-процесса

Что это такое?

EntityTypeId (ID типа сущности) — это уникальный числовой идентификатор типа Смарт-процесса в Битрикс24. Он необходим для работы с элементами через Factory API и автоматизации бизнес-процессов.

Через адресную строку браузера

Самый быстрый способ — просто посмотреть на URL в браузере:

  1. Откройте раздел CRMСмарт-процессы
  2. Выберите нужный Смарт-процесс из списка
  3. Посмотрите на адресную строку браузера:
  https://your-domain.bitrix24.ru/crm/type/1364/list/
                                      ^^^^
                                  EntityTypeId
  

Число после /type/ и перед /list/ — это EntityTypeId вашего Смарт-процесса.

Справочная таблица стандартных сущностей

Для стандартных сущностей CRM EntityTypeId фиксированы:

СущностьEntityTypeIdКод в API
Лиды1CCrmOwnerType::Lead
Сделки2CCrmOwnerType::Deal
Контакты3CCrmOwnerType::Contact
Компании4CCrmOwnerType::Company
Предложения7CCrmOwnerType::Quote
Счета31CCrmOwnerType::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_.

Через инструменты разработчика браузера

Если код не отображается в настройках:

  1. Откройте карточку элемента Смарт-процесса (любого)
  2. Найдите нужное поле на странице
  3. Нажмите F12 для открытия DevTools (Инструменты разработчика)
  4. Нажмите Ctrl+Shift+C (или иконку “Select element”)
  5. Наведите курсор на поле и кликните
  6. В панели 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 родительского Смарт-процесса.

Алгоритм:

  1. Узнайте EntityTypeId родительского Смарт-процесса (см. раздел выше)
  2. Добавьте к нему префикс PARENT_ID_
  3. Готово!

Примеры:

Родительский типEntityTypeIdParentFieldCode
Проекты1360PARENT_ID_1360
Заказы1500PARENT_ID_1500
Сделки2PARENT_ID_2
Контакты3PARENT_ID_3
  | ID | TITLE | PARENT_ID_1360 | STAGE_ID |
              ^^^^^^^^^^^^^^^
              ParentFieldCode
  

Через карточку элемента и DevTools

  1. Откройте карточку дочернего элемента
  2. Найдите поле с привязкой к родителю
  3. Откройте F12Ctrl+Shift+C
  4. Кликните на поле
  5. В 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    // Связь с Контактами (стандартная сущность)
  

Как определить нужное:

  1. Посмотрите на название поля в настройках (например, “Проект”, “Сделка”)
  2. Найдите EntityTypeId соответствующего родителя
  3. Сформируйте код: PARENT_ID_{TYPE_ID}

Важные особенности

✅ Поля связи создаются автоматически в “настройках смарт-процесса” => “связи”

✅ Название поля в интерфейсе может быть любым (“Проект”, “Основная сделка”), но код всегда PARENT_ID_{TYPE_ID}

✅ Для стандартных сущностий CRM используются их фиксированные ID:

  • Сделки = 2PARENT_ID_2
  • Контакты = 3PARENT_ID_3
  • Компании = 4PARENT_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.

Работа с элементами Смарт-процессов

После получения необходимых идентификаторов переходите к практическим примерам:


Как узнать коды стандартных полей компаний

Что это такое?

Коды полей компаний — это системные названия полей, которые используются для фильтрации и выборки данных в бизнес-процессах. Стандартные поля имеют фиксированные коды и присутствуют у всех компаний.

Через инструменты разработчика браузера

  1. Откройте карточку любой компании в CRM
  2. Найдите нужное поле на странице
  3. Нажмите F12Ctrl+Shift+C
  4. Наведите курсор на поле и кликните
  5. В HTML найдите атрибут name:
  <input type="text" 
       name="TITLE"    ← Код поля
       value="ООО Рога и Копыта">
  

Справочная таблица стандартных полей компаний

Код поляОписаниеТип данныхПример
IDID компанииint12345
TITLEНазваниеstring“ООО Рога и Копыта”
COMPANY_TYPEТип компанииstringCUSTOMER, PARTNER
INDUSTRYОтрасльstringIT, MANUFACTURING
ASSIGNED_BY_IDОтветственныйintID пользователя
CREATED_BY_IDКем созданаintID пользователя
DATE_CREATEДата созданияdatetime“2024-01-15 10:30:00”
OPENEDДоступна всемstringY / N
CURRENCY_IDВалютаstringRUB, 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::EmailEmail
6\CCrmActivityType::TaskЗадача

Пример использования

Полные примеры см. в Работа с активностями.


Коды мультиполей “Телефон” \ “Почта” \ “Сайт” \ “Мессенджер”

Что это такое?

Мультиполя — поля с множественными значениями (несколько телефонов, email).

Справочная таблица мультиполей

Код поляОписаниеМножественное
PHONEТелефонДа
EMAILEmailДа
WEBСайтДа
IMМессенджерДа

Пример использования

Полный пример см. в Поиск компаний по телефону и email.


Работа с компаниями в Битрикс24

После получения необходимых кодов переходите к практическим примерам: