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

Intranet bitrix24 api коробка

подключение модуля
CModule::IncludeModule('intranet');
список подразделений пользователя
$arDepartments = CIntranetUtils::GetUserDepartments($userId);
/*
Array(
    [0] => 1564
)
*/
список сотрудников подразделений
$rsUsers = CIntranetUtils::GetDepartmentEmployees($arDepartments/*, $bRecursive = false, $bSkipSelf = false, $onlyActive = 'Y'*/); 
while($arUser = $rsUsers->fetch()){
//...
}
руководители отделов
$arManagers = CIntranetUtils::GetDepartmentManager($arDepartments, $skipUserId=false, $bRecursive=false);  
получить всех подчиненных сотрудников
$bSearchSubs = true; //искать во вложенных подразделениях
$dbUserDepartments = CIntranetUtils::getSubordinateEmployees($userId, $bSearchSubs); 
while($arUser = $dbUserDepartments->Fetch()) {
   print_r($arUser);
}

функция, которая запуская из БП
завершает все лиды колл-центра (аварийное завершение)
function FinishAllActiveCallCenterLeads(){
      if(CModule::IncludeModule("intranet")){
         $callcenterUsers = CIntranetUtils::GetDepartmentEmployees([21], true, false, "N");
         $arUserIds = [];
         while($arUser = $callcenterUsers->fetch()){
            $arUserIds[] = $arUser["ID"];
         }
         if(!empty($arUserIds) && CModule::IncludeModule("crm")){
            $arFilter = array(
               "ASSIGNED_BY_ID" => $arUserIds, 
               "CHECK_PERMISSIONS"=>"N", //не проверять права доступа текущего пользователя
               "STATUS_ID" => [1,3]
            );            
            $arSelect = array(
              "ID"           
            );            
            $res = CCrmLead::GetList(Array(), $arFilter, $arSelect);
            $lead  =  new  \CCrmLead( false );      

            while($row = $res->Fetch()){
               $arUpdateData = array(
                 "STATUS_ID" => "CONVERTED"
               ); 
               $arOptions = array('DISABLE_USER_FIELD_CHECK'=>true); 
               $lead->Update($row["ID"], $arUpdateData, true, true, $arOptions);
               if(!$lead->Update($row["ID"], $arUpdateData, true, true, $arOptions)){
               //echo $lead->LAST_ERROR."<br>";
              }
            }
         }
      }
   }
Если блог был полезным, можете угостить меня "чашечкой кофе" :)

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