Документация для разработчиков
Темная тема

crm.contact.userfield.add

Scope: crm Права на выполнение: для всех

crm.contact.userfield.add(fields)

Создаёт новое пользовательское поле для контактов.

Системное ограничение на название поля - 20 знаков. К названию пользовательского поля всегда добавляется префикс UF_CRM_, то есть реальная длина названия - 13 знаков.

Параметры

Параметр Описание
fields Набор полей - массив вида array("поле"=>"значение"[, ...]), содержащий описание пользовательского поля.
LIST Содержит набор значений списка для пользовательских полей типа Список. Указывается при создании/обновлении поля. Каждое значение представляет собой массив с полями:
  • VALUE - значение элемента списка. Поле является обязательным в случае, когда создается новый элемент.
  • SORT - сортировка.
  • DEF - если равно Y, то элемент списка является значением по-умолчанию. Для множественного поля допустимо несколько DEF=Y. Для не множественного, дефолтным будет считаться первое.
  • XML_ID - внешний код значения. Параметр учитывается только при обновлении уже существующих значений элемента списка.
  • ID - идентификатор значения. Если он указан, то считается что это обновление существующего значения элемента списка, а не создание нового. Имеет смысл только при вызове методов *.userfield.update.
  • DEL - если равно Y, то существующий элемент списка будет удален. Применяется, если заполнен параметр ID.

Полное описание полей можно получить вызовом метода crm.userfield.fields.

Пример #1

BX24.callMethod(
	"crm.contact.userfield.add", 
	{
		fields: 
		{
			"FIELD_NAME": "MY_STRING",
			"EDIT_FORM_LABEL": "Моя строка",
			"LIST_COLUMN_LABEL": "Моя строка",
			"USER_TYPE_ID": "string",
			"XML_ID": "MY_STRING",
			"SETTINGS": { "DEFAULT_VALUE": "Привет, мир!" }
		}
	}, 
	function(result) 
	{
		if(result.error())
			console.error(result.error());
		else
			console.dir(result.data());
	}
);

Пример #2

BX24.callMethod(
	"crm.contact.userfield.add", 
	{
		fields: 
		{
			"FIELD_NAME": "MY_LIST",
			"EDIT_FORM_LABEL": "Мой список",
			"LIST_COLUMN_LABEL": "Мой список",
			"USER_TYPE_ID": "enumeration",
			"LIST": [ { "VALUE": "Элемент #1" }, { "VALUE": "Элемент #2" }, { "VALUE": "Элемент #3" }, { "VALUE": "Элемент #4" }, { "VALUE": "Элемент #5" } ],
			"XML_ID": "MY_LIST",
			"SETTINGS": { "LIST_HEIGHT": 3 }
		}
	}, 
	function(result) 
	{
		if(result.error())
			console.error(result.error());
		else
			console.dir(result.data());
	}
);


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
0
Trionikl SR
Сообщение не промодерировано, возможны ошибки и неточности.
php
Код
<?
   //получить id поля
   $answer = CRest::call(
   'crm.contact.userfield.list',
   [
   'order' =>[
   'SORT' => 'ASC'
   ],
   'filter' =>[
   'FIELD_NAME' => 'UF_CRM_1644565728425'
   ]  
   ]);
   
   echo "<pre>ID поля: "; print_r($answer); echo "</pre>";   //$answer = 146
?>   

print_r($answer)
Код
ID поля: Array
(
    [result] => Array
        (
            [0] => Array
                (
                    [ID] => 146
                    [ENTITY_ID] => CRM_CONTACT
                    [FIELD_NAME] => UF_CRM_1644565728425
                    [USER_TYPE_ID] => enumeration
                    [XML_ID] => 
                    [SORT] => 100
                    [MULTIPLE] => Y
                    [MANDATORY] => N
                    [SHOW_FILTER] => E
                    [SHOW_IN_LIST] => Y
                    [EDIT_IN_LIST] => Y
                    [IS_SEARCHABLE] => N
                    [SETTINGS] => Array
                        (
                            [DISPLAY] => CHECKBOX
                            [LIST_HEIGHT] => 1
                            [CAPTION_NO_VALUE] => 
                            [SHOW_NO_VALUE] => Y
                        )

                    [LIST] => Array
                        (
                            [0] => Array
                                (
                                    [ID] => 36
                                    [SORT] => 0
                                    [VALUE] => Группа для задачи: "4.2 Участие в программах"
                                    [DEF] => N
                                )

                            [1] => Array
                                (
                                    [ID] => 37
                                    [SORT] => 100
                                    [VALUE] => Группа номер Два - детская
                                    [DEF] => N
                                )

                            [2] => Array
                                (
                                    [ID] => 38
                                    [SORT] => 200
                                    [VALUE] => Восемь, Семь, Три
                                    [DEF] => N
                                )

                            [3] => Array
                                (
                                    [ID] => 39
                                    [SORT] => 300
                                    [VALUE] => Визуальный интерфейс десять пятнадцать
                                    [DEF] => N
                                )

                            [4] => Array
                                (
                                    [ID] => 45
                                    [SORT] => 400
                                    [VALUE] => Вот тут здесь
                                    [DEF] => N
                                )

                            [5] => Array
                                (
                                    [ID] => 58
                                    [SORT] => 500
                                    [VALUE] => привет
                                    [DEF] => N
                                )

                            [6] => Array
                                (
                                    [ID] => 59
                                    [SORT] => 500
                                    [VALUE] => привет
                                    [DEF] => N
                                )

                            [7] => Array
                                (
                                    [ID] => 60
                                    [SORT] => 500
                                    [VALUE] => привет2
                                    [DEF] => N
                                )

                        )

                )

        )

    [total] => 1
    [time] => Array
        (
            [start] => 1645098112.6209
            [finish] => 1645098112.6442
            [duration] => 0.023228883743286
            [processing] => 0.0011389255523682
            [date_start] => 2022-02-17T11:41:52+00:00
            [date_finish] => 2022-02-17T11:41:52+00:00
        )

)

Добавить всем значения для множественного списка пользовательского поля (потом это значение можно будет выбрать из множественного списка)
Код
<?   
   //Добавить всем значения для множественного списка пользовательского поля (потом это значение можно будет выбрать из множественного списка)
   $arList = array();
   $arList[0][VALUE] = "Название нового добавленного поля";
   $arList[0][ID] = ""; // Если пусто, то будет создано новое поле
   
   $answer = CRest::call(
   'crm.contact.userfield.update',
   [
   'ID' => '146',
   'fields' =>[
   'LIST' => $arList
   ]   
   ]);
   
   echo "<pre>ID поля: "; print_r($answer); echo "</pre>";   //$answer = 146   
   
?>
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх