Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.
Решение: Создаем обработчик на событие 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; } } } |
Назад в раздел
Подписаться на новые материалы раздела: