- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_document.php
- Класс: \CCrmDocument
- Вызов: CCrmDocument::GetUsersFromUserGroup
static function GetUsersFromUserGroup($group, $documentId)
{
$documentInfo = static::getDocumentInfo($documentId);
if (empty($documentInfo))
{
return [];
}
$entityID = isset($documentInfo['ID']) ? intval($documentInfo['ID']) : 0;
$responsibleId = 0;
if ($group === static::GROUP_RESPONSIBLE_HEAD || $group === static::GROUP_AUTHOR)
{
$responsibleId = \CCrmOwnerType::loadResponsibleId(
\CCrmOwnerType::ResolveID($documentInfo['TYPE']),
$entityID,
false
);
}
$groupLc = mb_strtolower($group);
if ($group === static::GROUP_RESPONSIBLE_HEAD)
{
$userService = \CBPRuntime::GetRuntime()->getUserService();
return $responsibleId ? $userService->getUserHeads($responsibleId) : [];
}
if ($groupLc === static::GROUP_AUTHOR)
{
return array_filter([$responsibleId]);
}
elseif ($groupLc == 'ungrouped')
{
return isset(self::$UNGROUPED_USERS[$documentId]) ? self::$UNGROUPED_USERS[$documentId] : array();
}
$group = (int)$group;
if ($group <= 0)
return array();
$arResult = array();
$dbUsersList = CUser::GetList(
'ID',
'ASC',
['GROUPS_ID' => $group, 'ACTIVE' => 'Y', 'IS_REAL_USER' => true],
['FIELDS' => ['ID']]
);
while ($arUser = $dbUsersList->Fetch())
{
$arResult[] = $arUser['ID'];
}
return $arResult;
}