Создание дел из приложений
Приложения могут создавать дела с провайдером специального типа. У такого дела будет соответствующая иконка , оно будет отображаться в таймлайн и по клику на дело будет открываться приложение в слайдере с опциями в PLACEMENT_OPTIONS.
Изменять/удалять дела такого подтипа можно только в контексте приложение, которым оно создано. То есть при обновлении такого дела методом crm.activity.update через вебхук будет ошибка: Access denied! Application context required
.
Параметры
Метод | Описание |
---|---|
PROVIDER_ID | Идентификатор провайдера. Для специального типа значение должно быть равно 'REST_APP'. |
PROVIDER_TYPE_ID | Идентификатор типа дела. В случае использования провайдера 'REST_APP' разработчик может указывать произвольные идентификаторы типа в зависимости от своих задач. |
Пример
<?php header('Content-Type: text/html; charset=UTF-8'); ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> <style type="text/css"> </style> </head> <body style="display: none"> <script src="//api.bitrix24.com/api/v1/"></script> <?if (isset($_POST['PLACEMENT']) && !empty($_POST['PLACEMENT_OPTIONS'])): $opt = json_decode($_POST['PLACEMENT_OPTIONS'], true); ?> <p>Activity ID: <?=(int)$opt['activity_id']?></p> <button onclick="updateActivity(<?=(int)$opt['activity_id']?>);">Upd ate activity (se t new description + completed) <p><button onclick="deleteActivity(<?=(int)$opt['activity_id']?>);">delete activity</button> <?else:?> <button onclick="selectCRMEntity();">Select LEAD</button> <span id="selected-entity"></span> <p> <button onclick="addActivity();">Add activity</button> <?endif;?> <script type="text/javascript"> BX24.init(function() { document.body.style.display = ''; }); var selectedEntityId = null; function addActivity() { if (!selectedEntityId) { alert('Lead not selected'); return; } BX24.callMethod( 'crm.activity.add', { fields: { "OWNER_TYPE_ID": 1, "OWNER_ID": selectedEntityId, "PROVIDER_ID": 'REST_APP', "PROVIDER_TYPE_ID": 'LINK', "SUBJECT": "Новое дело", "COMPLETED": "N", "RESPONSIBLE_ID": 1, "DESCRIPTION": "Описание нового дела" } }, function(result) { if(result.error()) alert("Error: " + result.error()); else { alert("Success: " + result.data()); } } ); } function updateActivity(id) { BX24.callMethod( 'crm.activity.update', { id: id, fields: { COMPLETED: 'Y', SUBJECT: "Дело выполнено!", DESCRIPTION: "Описание нового дела (выполнено)" } }, function(result) { if(result.error()) alert("Error: " + result.error()); else { alert("Success: " + result.data()); } } ); } function deleteActivity(id) { BX24.callMethod( 'crm.activity.delete', { id: id }, function(result) { if(result.error()) alert("Error: " + result.error()); else { alert("Success: " + result.data()); } } ); } function selectCRMEntity() { document.getElementById('selected-entity').textContent = ''; BX24.selectCRM({ entityType: ['lead'] }, function(selected) { if (selected['lead'] && selected['lead'][0]) { document.getElementById('selected-entity').textContent = selected['lead'][0]['title']; var id = selected['lead'][0]['id']; selectedEntityId = id.substring(2); console.log(selectedEntityId); } }) } </script> </body> </html>
Сообщение не промодерировано, возможны ошибки и неточности.
|
Пример не рабочий. На шестой строчке лишний символ. А для того чтобы пример работал нужна настройка placement, которой в примере да и в статье нигде нет, и ссылки нет.
|
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.