CBPAllTaskService :: Delete: Bitrix method

      
<?php 
//  CBPAllTaskService :: Delete()
//  /dist/bitrix/modules/bizproc/classes/general/taskservice.php:192

    
public static function Delete($id)
    {
        global 
$DB;

        
$id intval($id);
        if (
$id <= 0)
            throw new 
Exception("id");

        
$removedUsers $decremented = [];
        
$dbRes $DB->Query("SELECT USER_ID, STATUS FROM b_bp_task_user WHERE TASK_ID = ".intval($id)." ");
        while (
$arRes $dbRes->Fetch())
        {
            if (
$arRes['STATUS'] == CBPTaskUserStatus::Waiting)
            {
                
CUserCounter::Decrement($arRes["USER_ID"], 'bp_tasks''**');
                
$decremented[] = $arRes["USER_ID"];
            }
            
$removedUsers[] = $arRes["USER_ID"];
        }
        
$DB->Query("DELETE FROM b_bp_task_user WHERE TASK_ID = ".intval($id)." "true);
        
$DB->Query("DELETE FROM b_bp_task WHERE ID = ".intval($id)." "true);

        
self::onTaskChange(
            
$id,
            [
                
'USERS_REMOVED' => $removedUsers,
                
'COUNTERS_DECREMENTED' => $decremented
            
],
            
CBPTaskChangedStatus::Delete
        
);
        foreach (
GetModuleEvents("bizproc""OnTaskDelete"true) as $arEvent)
            
ExecuteModuleEventEx($arEvent, array($id));
    }