Заметки
Как получить список полей сущности CRM и их enum-значения
Для схемы универсальной CRM-сущности вызовите crm.item.fields с её entityTypeId. Это позволяет увидеть технические имена, типы и ограничения полей.
BX24.callMethod('crm.item.fields', {
entityTypeId: 128,
useOriginalUfNames: 'Y'
}, function (result) {
if (result.error()) {
console.error(result.error());
return;
}
console.log(result.data().fields);
}); Выполняйте после инициализации BX24.js; 128 замените нужным типом CRM. У поля-списка найдите варианты и сохраняйте их ID вместе с подписями.
Методы legacy-сущностей, например crm.deal.fields, возвращают схему в другом формате. Не переносите путь result.data().fields в любой метод с окончанием .fields.
Схему можно кешировать, но после изменения пользовательских полей кеш нужно обновить.
crm.userfield.enumeration.fields — не запрос вариантов конкретного поля. Он вызывается без параметров и описывает структуру значения списка: ID, SORT, VALUE и другие служебные поля. Передача туда кода UF_CRM_... не вернёт пункты нужного списка.
Для полных настроек конкретного списка, включая подписи и внешние коды, используйте userfieldconfig.get и массив enum.
Документация: crm.item.fields; crm.userfield.enumeration.fields.