Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Событие при удалении задачи OnTaskDelete». Мы подготовили подробный разбор принципов работы и развернутые примеры интеграции.
Событие при удалении задачи OnTaskDelete
> Scope: task
>
> Кто может подписаться: любой пользователь
Событие вызывается после удаления задачи.
События не будут отправляться в приложение, пока установка не завершена. Проверьте установку приложения
Что получает обработчик
Данные передаются в виде POST-запроса {.b24-info}
array(
'event' => 'ONTASKDELETE',
'data' => array(
'FIELDS_BEFORE' => array('ID' => 123),
'FIELDS_AFTER' => 'undefined',
'IS_ACCESSIBLE_BEFORE' => 'undefined',
'IS_ACCESSIBLE_AFTER' => 'N',
),
'ts' => '1466439714',
'auth' => array(
'access_token' => 's6p6eclrvim6da22ft9ch94ekreb52lv',
'expires_in' => '3600',
'scope' => 'crm',
'domain' => 'some-domain.bitrix24.com',
'server_endpoint' => 'https://oauth.bitrix24.tech/rest/',
'status' => 'F',
'client_endpoint' => 'https://some-domain.bitrix24.com/rest/',
'member_id' => 'a223c6b3710f85df22e9377d6c4f7553',
'refresh_token' => '4s386p3q0tr8dy89xvmt96234v3dljg8',
'application_token' => '51856fefc120afa4b628cc82d3935cce',
),
)Параметртип | Описание |
|---|---|
eventstring | Символьный код события, в данном случае OnTaskDelete |
dataarray | Массив с данными удаленной задачи |
tstimestamp | Дата и время отправки события из очереди событий |
autharray | Параметры авторизации и данные о портале, на котором произошло событие |
Параметр data[]
Названиетип | Описание | |
|---|---|---|
FIELDS_BEFOREundefined\ | object | Поля задачи до события (подробное описание приведено ниже). В случае отсутствия доступных полей задачи данное поле будет содержать значение undefined |
FIELDS_AFTERundefined\ | object | Поля задачи после события (подробное описание приведено ниже). В случае отсутствия доступных полей задачи данное поле будет содержать значение undefined |
IS_ACCESSIBLE_BEFOREstring | Была ли доступна задача на чтение до события (подробное описание приведено ниже) | |
IS_ACCESSIBLE_AFTERstring | Стала ли доступна задача на чтение после события (подробное описание приведено ниже) |
Поле FIELDS_BEFORE {#fields_before}
Названиетип | Описание |
|---|---|
IDinteger | Идентификатор удаленной задачи |
Поле FIELDS_AFTER {#fields_after}
Названиетип | Описание |
|---|---|
IDinteger | Идентификатор удаленной задачи |
Поле IS_ACCESSIBLE_BEFORE {#is_accessible_before}
Названиетип | Описание |
|---|---|
IS_ACCESSIBLE_BEFOREstring | Возможные значения: — Y (Yes) — да— N (No) — нет— undefined — не определено или проверка не производилась |
Поле IS_ACCESSIBLE_AFTER {#is_accessible_after}
Названиетип | Описание |
|---|---|
IS_ACCESSIBLE_AFTERstring | Возможные значения: — Y (Yes) — да— N (No) — нет— undefined — не определено или проверка не производилась |
Примеры кода
- JS
try
{
const response = await $b24.callMethod(
'event.bind',
{
"event": "onTaskDelete",
"handler": "https://example.com/handler.php"
}
);
const result = response.getData().result;
console.info(result);
}
catch( error )
{
console.error(error);
}- PHP
try {
$response = $b24Service
->core
->call(
'event.bind',
[
'event' => 'onTaskDelete',
'handler' => 'https://example.com/handler.php',
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
// Нужная вам логика обработки данных
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error binding event: ' . $e->getMessage();
}- BX24.js
BX24.callMethod(
'event.bind',
{
"event": "onTaskDelete",
"handler": "https://example.com/handler.php"
},
function(result) {
if (result.error()) {
console.error(result.error());
} else {
console.info(result.data());
}
}
);- PHP CRest
require_once('crest.php');
$result = CRest::call(
'event.bind',
[
'event' => 'onTaskDelete',
'handler' => 'https://example.com/handler.php'
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';- [](./index)
- [](./on-task-update)
- [](./on-task-add)
💡 Экспертное мнение и рекомендации
Практические рекомендации:
- При написании кастомных компонентов для «Событие при удалении задачи OnTaskDelete» всегда разделяйте бизнес-логику и представление (шаблон).
- Используйте отладку SQL-запросов через конструкцию
$wpdb->last_queryили стандартный трекер Битрикса, чтобы контролировать нагрузку.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru