Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Добавить пользовательское поле task.item.userfield.add». Вы узнаете экспертные методики работы с task.item.userfield.add и научитесь избегать типичных ошибок начинающих разработчиков.
Добавить пользовательское поле task.item.userfield.add
- не указаны типы параметров
- не указана обязательность параметров
- не хватает 1 примера (должно быть три примера — curl, js, php)
- отсутствует ответ в случае успеха
- отсутствует ответ в случае ошибки
Тут может не хватать некоторых данных — дополним в ближайшее время
> Scope: task
>
> Кто может выполнять метод: администратор
Метод task.item.userfield.add создает новое свойство.
При создании пользовательского поля, в названии поля FIELD_NAME обязательно использовать префикс UF_. Если не указать префикс, система автоматически добавит его в начало названия.
Входящие параметры и конфигурация метода
| Параметр / Тип | Описание |
|---|---|
authunknown | Токен авторизации. |
PARAMSunknown | Массив с параметрами свойства вида array("параметр": 'значение' [, ...]), содержащий следующие параметры: — USER_TYPE_ID — тип данных пользовательского поля. Допустимые значения: — string — строка— double — число— date — дата— boolean — да/нет — FIELD_NAME — код поля; — XML_ID — внешний код; — EDIT_FORM_LABEL — подпись в форме форматирования (указывается на английском (‘en’) и русском (‘ru») языках); — LABEL — заголовок поля. |
Практические примеры использования в коде
- cURL (Webhook)
curl -X POST "https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/task.item.userfield.add" \
-H "Content-Type: application/json" \
-d '{
"PARAMS": {
"USER_TYPE_ID": "string",
"FIELD_NAME": "NEW_TASKS_FIELD",
"XML_ID": "MY_TASK_FIELD",
"EDIT_FORM_LABEL": {
"en": "New task field",
"ru": "Новое поле задач"
},
"LABEL": "New task field"
}
}'- cURL (OAuth)
curl -X POST "https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/task.item.userfield.add" \
-H "Content-Type: application/json" \
-d '{
"PARAMS": {
"USER_TYPE_ID": "string",
"FIELD_NAME": "NEW_TASKS_FIELD",
"XML_ID": "MY_TASK_FIELD",
"EDIT_FORM_LABEL": {
"en": "New task field",
"ru": "Новое поле задач"
},
"LABEL": "New task field"
},
"auth": "**put_access_token_here**"
}'- JS
try
{
const response = await $b24.callMethod(
'task.item.userfield.add',
{
PARAMS:
{
'USER_TYPE_ID' : 'string',
'FIELD_NAME' : 'NEW_TASKS_FIELD',
'XML_ID' : 'MY_TASK_FIELD',
'EDIT_FORM_LABEL' : {'en':'New task field', 'ru':'Новое поле задач'},
'LABEL' : 'New task field'
}
}
);
const result = response.getData().result;
console.info(result);
console.log(result);
}
catch( error )
{
console.error('Error:', error);
}- PHP
try {
$response = $b24Service
->core
->call(
'task.item.userfield.add',
[
'PARAMS' => [
'USER_TYPE_ID' => 'string',
'FIELD_NAME' => 'NEW_TASKS_FIELD',
'XML_ID' => 'MY_TASK_FIELD',
'EDIT_FORM_LABEL' => ['en' => 'New task field', 'ru' => 'Новое поле задач'],
'LABEL' => 'New task field',
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
// Нужная вам логика обработки данных
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error adding user field: ' . $e->getMessage();
}- BX24.js
BX24.callMethod(
'task.item.userfield.add',
{
PARAMS:
{
'USER_TYPE_ID' : 'string',
'FIELD_NAME' : 'NEW_TASKS_FIELD',
'XML_ID' : 'MY_TASK_FIELD',
'EDIT_FORM_LABEL' : {'en':'New task field', 'ru':'Новое поле задач'},
'LABEL' : 'New task field'
}
},
function(result)
{
console.info(result.data());
console.log(result);
}
);- PHP CRest
require_once('crest.php');
$result = CRest::call(
'task.item.userfield.add',
[
'PARAMS' => [
'USER_TYPE_ID' => 'string',
'FIELD_NAME' => 'NEW_TASKS_FIELD',
'XML_ID' => 'MY_TASK_FIELD',
'EDIT_FORM_LABEL' => [
'en' => 'New task field',
'ru' => 'Новое поле задач',
],
'LABEL' => 'New task field',
],
]
);
echo '<pre>';
print_r($result);
echo '</pre>';💡 Экспертное мнение и рекомендации
Ключевые выводы по теме «Добавить пользовательское поле task.item.userfield.add»:
Использование современных стандартов D7 при работе с task.item.userfield.add позволяет писать чистый, масштабируемый и безопасный код. Не забывайте обрабатывать исключения (try/catch) и проверять права доступа текущего пользователя перед выполнением критических операций.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru