Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.

Решение: Создаем обработчик на событие OnBeforeTaskUpdate
Код решения:
Назад в раздел
Наверх
то ждем ваше обращение в нашей службе тех поддержки.
Остановка запущенных задач, при старте новой.
Задача: При запуске новой задачи останавливать старые.
Решение: Создаем обработчик на событие OnBeforeTaskUpdate
Код решения:
// register start task handler
AddEventHandler
("tasks", "OnBeforeTaskUpdate", array("StartTask", "OnBeforeTaskUpdateHandler"));
class StartTask {
// Create task function
function OnBeforeTaskUpdateHandler($id, $arFields) {
if ($arFields["STATUS"] == CTasks::STATE_IN_PROGRESS) {
// Stop all started tasks
//
$obTask = new CTasks;
$arFilter = array();
$arFilter["REAL_STATUS"] = $obTask::STATE_IN_PROGRESS;
$arFilter["STATUS_CHANGED_BY"] = CUser::GetID();
$tasksList = $obTask->GetList(
$arOrder = array(), $arFilter, $arSelect = array()
);
while ($task = $tasksList->GetNext()) :
if ($task['ID'] != $id) {
$uptask = array();
$uptask['STATUS'] = $obTask::STATE_DEFERRED;
$ret = $obTask->Update($task['ID'], $uptask);
}
endwhile;
}
}
} |
Назад в раздел
Подписаться на новые материалы раздела:
Загрузка...
Наверх