- Модуль: imopenlines
- Путь к файлу: ~/bitrix/modules/imopenlines/lib/queuemanager.php
- Класс: BitrixImOpenLinesQueueManager
- Вызов: QueueManager::getUsersDepartment
static function getUsersDepartment($departmentId, array $select = ['ID'], bool $excludeHead = true)
{
$query = UserTable::query();
$query->setSelect($select);
$departments = self::getChildDepartments($departmentId, true, true);
$subDepartments = [];
$excludeUsers = [];
foreach ($departments as $department)
{
$subDepartments[] = $department['id'];
if ($excludeHead && $department['headUserId'] > 0)
{
$excludeUsers[] = $department['headUserId'];
}
}
$filter = [
'UF_DEPARTMENT' => $subDepartments,
'=ACTIVE' => 'Y',
'!=BLOCKED' => 'Y'
];
if ($excludeHead && !empty($excludeUsers))
{
$filter['!=ID'] = $excludeUsers;
}
$query->addFilter(null, $filter);
$query->setCacheTtl(3600);
$query->setOrder(['ID' => 'asc']);
return $query->exec();
}