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

crm.activity.add

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

С версии CRM 22.1350.0 метод устарел. используйте метод crm.activity.todo.add.

crm.activity.add(fields)

Создаёт новое дело.

Параметры

Параметр Описание
fields Массив вида array("поле"=>"значение"[, ...]), содержащий значения полей дел.
Примечание: чтобы узнать требуемый формат полей, выполните метод crm.activity.fields и посмотрите формат пришедших значений этих полей.

Имеется дополнительное поле DISABLE_SENDING_MESSAGE_COPY. Оно предназначено для принудительного отключения отправки копии сообщения адресату из MESSAGE_FROM. Если параметр не заполнен или указано любое значение отличное от 'Y' - копия отправлена будет. Пример:

[
	'fields'=>
	array (
		'SETTINGS'=>array ('DISABLE_SENDING_MESSAGE_COPY'=>'Y')
	)
]

Варианты использования значений полей

    Для дел типа e-mail:
  • если письмо не должно быть отправлено, то следует установить DIRECTION=2 и COMPLETED='N';
  • если необходимо пометить письма как завершенные, то следует выполнить обновление с выставлением флага завершения.

Пример

var paddatepart = function(part)
{
	return part >= 10 ? part.toString() : '0' + part.toString();
};

var d = new Date();
d.setDate(d.getDate() + 7);
d.setSeconds(0);
var dateStr = d.getFullYear() + '-' + paddatepart(1 + d.getMonth()) + '-' + paddatepart(d.getDate()) + 'T' + paddatepart(d.getHours()) + ':' + paddatepart(d.getMinutes()) + ':' + paddatepart(d.getSeconds()) + '+00:00';

BX24.callMethod(
	"crm.activity.add",
	{
		fields:
		{
			"OWNER_TYPE_ID": 2, //из метода crm.enum.ownertype: 2 - тип "сделка"
			"OWNER_ID": 102, //id сделки
			"TYPE_ID": 2, //из метода crm.enum.activitytype
			"COMMUNICATIONS": [  { VALUE:"+79832322323", ENTITY_ID:134,ENTITY_TYPE_ID:3 } ], //где 134 - id контакта, 3 - тип "контакт"
			"SUBJECT": "Новый звонок",
			"START_TIME": dateStr,
			"END_TIME": dateStr,
			"COMPLETED": "N",
			"PRIORITY": 3, //из метода crm.enum.activitypriority
			"RESPONSIBLE_ID": 1,
			"DESCRIPTION": "Важный звонок",
			"DESCRIPTION_TYPE": 3, //из метода crm.enum.contenttype
			"DIRECTION": 2, // из метода crm.enum.activitydirection
			"WEBDAV_ELEMENTS":
			[
				{ fileData: document.getElementById('file1') }
			],
			"FILES":
			[
				{ fileData: document.getElementById('file1') }
			] //после установки модуля disk и конвертации данных из webdav можно будет указавать FILES вместо WEBDAV_ELEMENTS
		}
	},
	function(result)
	{
		if(result.error())
			console.error(result.error());
		else
			console.info("Создан новый звонок с ID " + result.data());
	}
);


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

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

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

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

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
0
Денис Черечукин
Сообщение не промодерировано, возможны ошибки и неточности.
"SETTINGS":
{
   "EMAIL_META":
   {
       "from": "otpravitel@mail.ru",
       "to": "poluchatel@mail.ru"
   },
   "MESSAGE_FROM": "otpravitel@mail.ru",
   "MESSAGE_TO": "poluchatel@mail.ru"
}
0
Даниил Грабилов
Сообщение не промодерировано, возможны ошибки и неточности.
Мне кажется тут нехватает подсказок по использованию.
Надеюсь в этом нет ничего такого. Проще всего понять как строиться activity(Дело) которое вам необходимо создать любое дело на портале "Комментарий", "Отправить/Получить почтовое сообщение" и после методом crm_activity_list.php с сортировкой "OWNER_TYPE_ID"=>1 /* 1-ЛИД,2-Сделка, 3-Контакт */ "OWNER_ID"=12 /*Код элемента у которого смотри Дела*/
3
paraplanio
Сообщение не промодерировано, возможны ошибки и неточности.
В этой статье, удивительно, но никак не объяснено как же прикреплять файлы! Вот пример кода прикрепления к активности:
а) в простом варианте, когда файл у вас на вашем диске:
Код
$tNode = []; // тут массив данных для создания активности
$newFilesArr = [];

$tFileData = ['Имя_файла.wav', base64_encode(file_get_contents('https://xxx.ru/file.wav'))];
$newFilesArr[] = ['fileData' => $tFileData];
$tNode['FILES'] = $newFilesArr;

б) вариант, когда файл загружен на Диск Битрикса:
Код
$tNode = []; // тут массив данных для создания активности
$newFilesArr = [];
                                
if (isset($tFile['id']) && intval($tFile['id'])>0) {
    $getFile = request('disk.file.get', ['id' => intval($tFile['id'])]);
    if ($getFile && isset($getFile['result']['DOWNLOAD_URL']) && !empty($getFile['result']['DOWNLOAD_URL'])) {
        $tFileData = [$getFile['result']['NAME'], base64_encode(file_get_contents($getFile['result']['DOWNLOAD_URL']))];
        $newFilesArr[] = ['fileData' => $tFileData];
    }
}
$tNode['FILES'] = $newFilesArr;
© «Битрикс», 2001-2024, «1С-Битрикс», 2024