Заметки
Как найти элемент смарт-процесса по UF-полю
Для поиска по внешнему идентификатору достаточно crm.item.list. В filter и select нужен один и тот же код поля. Режим оригинальных имён задаётся на уровне запроса.
Поиск точного значения
const field_name = 'UF_CRM_10_EXTERNAL_ID';
BX24.callMethod('crm.item.list', {
entityTypeId: 128,
useOriginalUfNames: 'Y',
filter: { ['=' + field_name]: 'EXT-1001' },
select: ['id', 'title', field_name],
order: { id: 'ASC' }
}, function (result) {
if (result.error()) {
console.error(result.error());
return;
}
console.log(result.data().items);
if (result.more()) {
result.next();
}
});Пустой ответ и несколько совпадений
Замените тип CRM и демонстрационный код на значения своего портала, полученные через crm.item.fields. Пустой список может означать отсутствие совпадений или недоступность элементов этой авторизации.
Сам фильтр не делает внешний ID уникальным. Если найдено несколько элементов, выбор первого по ID скрывает дубль. Обрабатывать такую ситуацию нужно в логике интеграции. Имена и типы пользовательских полей.