Обучаю битриксу программистов, интеграторов

При смене ответственного в лиде менять статус по условию

Задача:
Если ответственный за лид - пользователь из департамента 1615 меняет ответственного на сотрудника из департаментов: 1242, 1292, 181, 183, 1609, 1610, 1611, 1612 то Лид возвращается на статус Не обработан (начальный статус).
И тумблер на данную настройку
Тумблер сделала через глобальную константу в БП типа да/нет

Обработчик в init.php
AddEventHandler("crm","OnBeforeCrmLeadUpdate","MyOnBeforeCrmLeadUpdate");
function MyOnBeforeCrmLeadUpdate(&$arFields){   
   $constantId = "Constant1664531666359";//глобальная константа, которая отвечает, переводить или нет при смене подразделения
   

   if(!empty($arFields["ASSIGNED_BY_ID"])&&  CModule::IncludeModule("bizproc") && CModule::IncludeModule('crm')){
      $result = \Bitrix\Bizproc\Workflow\Type\GlobalConst::getValue($constantId); //получить значение 
      if($result=="Y"){
         $arFilter = array(
              "ID"=>$arFields["ID"], 
              "CHECK_PERMISSIONS"=>"N" //не проверять права доступа текущего пользователя
         );            
         $arSelect = array(
            "ID",     
            "ASSIGNED_BY_ID"              
         ); 

         $res = CCrmLead::GetList(Array(), $arFilter, $arSelect);
         if($arOldFields = $res->Fetch()){
            if(($arOldFields["ASSIGNED_BY_ID"] != $arFields["ASSIGNED_BY_ID"]) && (CModule::IncludeModule('intranet'))){
               $arDepartmentsOld = CIntranetUtils::GetUserDepartments($arOldFields["ASSIGNED_BY_ID"]);
               $arDepartmentsNew = CIntranetUtils::GetUserDepartments($arFields["ASSIGNED_BY_ID"]);
               if(
                  in_array(1615,$arDepartmentsOld) && 
                  (  //1242, 1292, 181, 183, 1609, 1610, 1611, 1612
                     in_array(1242,$arDepartmentsNew) ||
                     in_array(1292,$arDepartmentsNew) ||
                     in_array(181,$arDepartmentsNew) ||
                     in_array(183,$arDepartmentsNew) ||
                     in_array(1609,$arDepartmentsNew) ||
                     in_array(1610,$arDepartmentsNew) ||
                     in_array(1611,$arDepartmentsNew) ||
                     in_array(1612,$arDepartmentsNew) 
                  )
               ){
                  $arFields["STATUS_ID"] = "NEW";
               }
            }
         }
      }   
   }

}
Если блог был полезным, можете угостить меня "чашечкой кофе" :)

Сбер по номеру телефона +7 (953) 585-13-09 Вероника.
Спасибо!