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

crm.deal.userfield.add

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

crm.deal.userfield.add(fields)

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

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

Возвращает ID, который потом можно идентифицировать методом crm.deal.userfield.list.

Параметры

Параметр Описание
fields Набор полей На данный момент:
ENTITY_ID
USER_TYPE_ID
FIELD_NAME
LIST_FILTER_LABEL
LIST_COLUMN_LABEL
EDIT_FORM_LABEL
ERROR_MESSAGE
HELP_MESSAGE
MULTIPLE
MANDATORY
SHOW_FILTER
SETTINGS
LIST
- массив вида array("поле"=>"значение"[, ...]), содержащий описание пользовательского поля.

В том числе содержит поле LIST, которое содержит набор значений списка для пользовательских полей типа Список. Указывается при создании/обновлении поля. Каждое значение представляет собой массив с полями:

  • VALUE - значение элемента списка. Поле является обязательным в случае, когда создается новый элемент.
  • SORT - сортировка.
  • DEF - если равно Y, то элемент списка является значением по-умолчанию. Для множественного поля допустимо несколько DEF=Y. Для не множественного, дефолтным будет считаться первое.
  • XML_ID - внешний код значения. Параметр учитывается только при обновлении уже существующих значений элемента списка.
  • ID - идентификатор значения. Если он указан, то считается что это обновление существующего значения элемента списка, а не создание нового. Имеет смысл только при вызове методов *.userfield.update.
  • DEL - если равно Y, то существующий элемент списка будет удален. Применяется, если заполнен параметр ID.

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

Пример #1

BX24.callMethod(
	"crm.deal.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.deal.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());
	}
);



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

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

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

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

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2024, «1С-Битрикс», 2024