28.04.2022
21:21
28.04.2022 21:21:39
подключение модуля
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>";
}
}
}
}
} |
28.04.202221:2128.04.2022 21:21:39
Если блог был полезным, можете угостить меня "чашечкой кофе" :)
Сбер по номеру телефона +7 (953) 585-13-09 Вероника.
Спасибо!