crm.requisite.userfield.list
Получить список пользовательских полей реквизита по фильтру
Описание
Метод возвращает список пользовательских полей реквизита по фильтру.
Параметры
order
object
необязательный
Объект для сортировки выбранных пользовательских полей в формате {"field_1": "order_1", ... "field_N": "order_N"}.
Возможные значения для field:
- ID
- ENTITY_ID
- FIELD_NAME
- USER_TYPE_ID
- XML_ID
- SORT
Возможные значения для order:
- asc — в порядке возрастания
- desc — в порядке убывания
filter
object
необязательный
Объект для фильтрации выбранных реквизитов в формате {"field_1": "value_1", ... "field_N": "value_N"}. В фильтре этого метода поддерживается только обычное сравнение значений.
Возможные значения для field:
- ID
- ENTITY_ID
- FIELD_NAME
- USER_TYPE_ID
- XML_ID
- SORT
- MULTIPLE
- MANDATORY
- SHOW_FILTER
- SHOW_IN_LIST
- EDIT_IN_LIST
- IS_SEARCHABLE
- LANG
Дополнительные префиксы в ключах, уточняющие поведение фильтра, не предусмотрены. Всегда используется операция равно.
Возможные значения для value соответствуют описанию полей
Описание полей пользовательского поля реквизита
ID
integer
необязательный
Идентификатор пользовательского поля
ENTITY_ID
string
необязательный
Идентификатор сущности, к которой относится пользовательское поле. Для реквизитов это всегда CRM_REQUISITE
FIELD_NAME
string
необязательный
Символьный код. Для реквизитов всегда начинается с префикса UF_CRM_
XML_ID
string
необязательный
Внешний ключ. Используется для операций обмена. Идентификатор объекта внешней информационной базы.
Назначение поля может меняться конечным разработчиком
SORT
integer
необязательный
Сортировка
MULTIPLE
char
необязательный
Признак множественности. Возможные значения:
- Y — да
- N — нет
MANDATORY
char
необязательный
Признак обязательности. Возможные значения:
- Y — да
- N — нет
SHOW_FILTER
char
необязательный
Показывать ли в фильтре списка. Возможные значения:
- N — не показывать
- I — точное совпадение
- E — маска
- S — подстрока
SHOW_IN_LIST
char
необязательный
Показывать ли в списке. Возможные значения:
- Y — да
- N — нет
EDIT_IN_LIST
char
необязательный
Разрешать ли редактирование пользователем. Возможные значения:
- Y — да
- N — нет
IS_SEARCHABLE
char
необязательный
Участвуют ли значения поля в поиске. Возможные значения:
- Y — да
- N — нет
EDIT_FORM_LABEL
string
необязательный
Подпись в форме редактирования
LIST_COLUMN_LABEL
string
необязательный
Заголовок в списке
LIST_FILTER_LABEL
string
необязательный
Подпись фильтра в списке
ERROR_MESSAGE
string
необязательный
Сообщение об ошибке
HELP_MESSAGE
string
необязательный
Помощь
LIST
uf_enum_element
необязательный
Элементы списка. Для получения подробной информации смотрите раздел crm.userfield.enumeration.fields
SETTINGS
object
необязательный
Дополнительные настройки (зависят от типа). Для получения подробной информации смотрите раздел crm.userfield.settings.fields
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"order":{"SORT":"ASC"},"filter":{"MANDATORY":"N","LANG":"ru"}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.requisite.userfield.list
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"order":{"SORT":"ASC"},"filter":{"MANDATORY":"N","LANG":"ru"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/crm.requisite.userfield.list
// This snippet is an ES module: top-level await requires type="module" or a bundler.
// $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
// Shape of each UserFieldItem returned in result[]
type UserFieldItem = {
ID: string
ENTITY_ID: string
FIELD_NAME: string
USER_TYPE_ID: string
XML_ID: string | null
SORT: string
MULTIPLE: string
MANDATORY: string
SHOW_FILTER: string
SHOW_IN_LIST: string
EDIT_IN_LIST: string
IS_SEARCHABLE: string
SETTINGS: Record<string, unknown>
EDIT_FORM_LABEL: string | null
LIST_COLUMN_LABEL: string | null
LIST_FILTER_LABEL: string | null
ERROR_MESSAGE: string | null
HELP_MESSAGE: string | null
}
try {
// crm.requisite.userfield.list returns a single page (max 50 records). For the whole result set
// use a list helper: $b24.actions.v2.callList.make() returns every record as one
// array, $b24.actions.v2.fetchList.make() yields them in chunks (async generator).
// NOTE: the list helpers do not accept `order` (it is excluded from their params, so
// passing it is a TS error) — keep this call.make + `start` variant when sort matters.
const response = await $b24.actions.v2.call.make<UserFieldItem[]>({
method: 'crm.requisite.userfield.list',
params: {
order: { SORT: 'ASC' },
filter: { MANDATORY: 'N', LANG: 'ru' },
start: 0,
},
requestId: Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
} else {
const result = response.getData()!.result
console.info('User fields count:', result.length, 'First field:', result[0]?.FIELD_NAME)
}
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
async function listRequisiteUserFields() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
// crm.requisite.userfield.list returns a single page (max 50 records). For the whole result set
// use a list helper: $b24.actions.v2.callList.make() returns every record as one
// array, $b24.actions.v2.fetchList.make() yields them in chunks (async generator).
// NOTE: the list helpers do not accept `order` (it is excluded from their params, so
// passing it is a TS error) — keep this call.make + `start` variant when sort matters.
const response = await $b24.actions.v2.call.make({
method: 'crm.requisite.userfield.list',
params: {
order: { SORT: 'ASC' },
filter: { MANDATORY: 'N', LANG: 'ru' },
start: 0,
},
requestId: B24Js.Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
return
}
const result = response.getData().result
console.info('User fields count:', result.length, 'First field:', result[0]?.FIELD_NAME)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', listRequisiteUserFields)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.crm.requisite.userfield.list(
order={
"SORT": "ASC",
},
filter={
"MANDATORY": "N",
"LANG": "ru",
},
).response
result = bitrix_response.result
print(result)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {error}")
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.crm.requisite.userfield.list(
order={
"SORT": "ASC",
},
filter={
"MANDATORY": "N",
"LANG": "ru",
},
).as_list().response
result = bitrix_response.result
for item in result:
print(item)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {error}")
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.crm.requisite.userfield.list(
order={
"SORT": "ASC",
},
filter={
"MANDATORY": "N",
"LANG": "ru",
},
).as_list_fast(descending=True).response
result = bitrix_response.result
for item in result:
print(item)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {error}")
try {
$response = $b24Service
->core
->call(
'crm.requisite.userfield.list',
[
'order' => ['SORT' => 'ASC'],
'filter' => ['MANDATORY' => 'N', 'LANG' => 'ru']
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
if ($result->more()) {
$result->next();
}
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error listing requisite user fields: ' . $e->getMessage();
}
BX24.callMethod(
"crm.requisite.userfield.list",
{
order: { "SORT": "ASC" },
filter: { "MANDATORY": "N", "LANG": "ru" }
},
function(result)
{
if(result.error())
console.error(result.error());
else
{
console.dir(result.data());
if(result.more())
result.next();
}
}
);
require_once('crest.php');
$result = CRest::call(
'crm.requisite.userfield.list',
[
'order' => ['SORT' => 'ASC'],
'filter' => ['MANDATORY' => 'N', 'LANG' => 'ru']
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "crm.requisite.userfield.list", b24.Params{
"order": b24.Params{
"SORT": "ASC",
},
"filter": b24.Params{
"MANDATORY": "N",
"LANG": "ru",
},
}, b24.WithIdempotent())
if err != nil {
return fmt.Errorf("crm.requisite.userfield.list: %w", err)
}
var items []struct {
ID b24.ID `json:"ID"`
EntityID string `json:"ENTITY_ID"`
FieldName string `json:"FIELD_NAME"`
UserTypeID string `json:"USER_TYPE_ID"`
Sort string `json:"SORT"`
Multiple string `json:"MULTIPLE"`
}
if err := json.Unmarshal(res.Result, &items); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
for _, it := range items {
fmt.Println(it.ID, it.EntityID)
}
// Total и Next заполняют списочные методы; для полного
// обхода списка есть client.Core().Pages и Scan.
if res.Total != nil {
fmt.Println("всего:", *res.Total)
}
Ответ
HTTP-статус: 200
{
"result": [
{
"ID": "232",
"ENTITY_ID": "CRM_REQUISITE",
"FIELD_NAME": "UF_CRM_NEWTECH_V1_BOOLEAN",
"USER_TYPE_ID": "boolean",
"XML_ID": null,
"SORT": "100",
"MULTIPLE": "N",
"MANDATORY": "N",
"SHOW_FILTER": "E",
"SHOW_IN_LIST": "Y",
"EDIT_IN_LIST": "Y",
"IS_SEARCHABLE": "N",
"SETTINGS": {
"DEFAULT_VALUE": 0,
"DISPLAY": "CHECKBOX",
"LABEL": [
"",
""
],
"LABEL_CHECKBOX": "UF - Да/Нет"
},
"EDIT_FORM_LABEL": "UF - Да/Нет",
"LIST_COLUMN_LABEL": "UF - Да/Нет",
"LIST_FILTER_LABEL": "UF - Да/Нет",
"ERROR_MESSAGE": null,
"HELP_MESSAGE": null
},
{
"ID": "233",
"ENTITY_ID": "CRM_REQUISITE",
"FIELD_NAME": "UF_CRM_NEWTECH_V1_DATETIME",
"USER_TYPE_ID": "datetime",
"XML_ID": null,
"SORT": "100",
"MULTIPLE": "N",
"MANDATORY": "N",
"SHOW_FILTER": "E",
"SHOW_IN_LIST": "Y",
"EDIT_IN_LIST": "Y",
"IS_SEARCHABLE": "N",
"SETTINGS": {
"DEFAULT_VALUE": {
"TYPE": "NONE",
"VALUE": ""
},
"USE_SECOND": "Y",
"USE_TIMEZONE": "N"
},
"EDIT_FORM_LABEL": "UF - Дата",
"LIST_COLUMN_LABEL": "UF - Дата",
"LIST_FILTER_LABEL": "UF - Дата",
"ERROR_MESSAGE": null,
"HELP_MESSAGE": null
},
{
"ID": "234",
"ENTITY_ID": "CRM_REQUISITE",
"FIELD_NAME": "UF_CRM_NEWTECH_V1_DOUBLE",
"USER_TYPE_ID": "double",
"XML_ID": null,
"SORT": "100",
"MULTIPLE": "N",
"MANDATORY": "N",
"SHOW_FILTER": "E",
"SHOW_IN_LIST": "Y",
"EDIT_IN_LIST": "Y",
"IS_SEARCHABLE": "N",
"SETTINGS": {
"PRECISION": 2,
"SIZE": 20,
"MIN_VALUE": 0,
"MAX_VALUE": 0,
"DEFAULT_VALUE": null
},
"EDIT_FORM_LABEL": "ПП - Число",
"LIST_COLUMN_LABEL": "ПП - Число",
"LIST_FILTER_LABEL": "ПП - Число",
"ERROR_MESSAGE": null,
"HELP_MESSAGE": null
},
{
"ID": "235",
"ENTITY_ID": "CRM_REQUISITE",
"FIELD_NAME": "UF_CRM_NEWTECH_V1_STRING",
"USER_TYPE_ID": "string",
"XML_ID": null,
"SORT": "100",
"MULTIPLE": "N",
"MANDATORY": "N",
"SHOW_FILTER": "N",
"SHOW_IN_LIST": "Y",
"EDIT_IN_LIST": "Y",
"IS_SEARCHABLE": "N",
"SETTINGS": {
"SIZE": 20,
"ROWS": 1,
"REGEXP": "",
"MIN_LENGTH": 0,
"MAX_LENGTH": 0,
"DEFAULT_VALUE": ""
},
"EDIT_FORM_LABEL": "ПП - Строка",
"LIST_COLUMN_LABEL": "ПП - Строка",
"LIST_FILTER_LABEL": "ПП - Строка",
"ERROR_MESSAGE": "UF_CRM_NEWTECH_V1_STRING",
"HELP_MESSAGE": "UF_CRM_NEWTECH_V1_STRING"
}
],
"total": 4,
"time": {
"start": 1717754823.56747,
"finish": 1717754823.938955,
"duration": 0.37148499488830566,
"processing": 0.007915973663330078,
"date_start": "2024-06-07T12:07:03+02:00",
"date_finish": "2024-06-07T12:07:03+02:00",
"operating": 0
}
}
Возвращаемые данные
result
array
Массив объектов с информацией из выбранных пользовательских полей. Каждый элемент содержит выбранные поля, описывающие пользовательское поле реквизита
total
integer
Общее количество найденных записей
time
time
Информация о времени выполнения запроса
Обработка ошибок
{
"error": "",
"error_description": "Access denied."
}
| Код | Описание | Значение |
|---|---|---|
Access denied |
Недостаточно прав доступа для получения списка пользовательских полей реквизита |

