Блог Горошко Андрея Bitrix24,PHP Добавить пользовательское поле task.item.userfield.add

Добавить пользовательское поле task.item.userfield.add

Эффективная интеграция и кастомизация функционала в Битрикс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_. Если не указать префикс, система автоматически добавит его в начало названия.

Входящие параметры и конфигурация метода

Параметр / ТипОписание
auth
unknown
Токен авторизации.
PARAMS
unknown
Массив с параметрами свойства вида 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 и создаю умных ИИ-агентов для автоматизации рутины.

Related Post

Получить описание полей банковских реквизитов crm.requisite.bankdetail.fieldsПолучить описание полей банковских реквизитов crm.requisite.bankdetail.fields

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Получить описание полей банковских реквизитов crm.requisite.bankdetail.fields», проанализируем лучшие

Сколько стоит настройка сквозной аналитики и коллтрекинга в Битрикс24Сколько стоит настройка сквозной аналитики и коллтрекинга в Битрикс24

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

Событие при удалении шаблона регулярной сделки onCrmDealRecurringDeleteСобытие при удалении шаблона регулярной сделки onCrmDealRecurringDelete

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Событие при удалении шаблона регулярной сделки onCrmDealRecurringDelete», проанализируем