• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/member/membermanager.php
  • Класс: BitrixTasksMemberMemberManager
  • Вызов: MemberManager::getAdditionalInfo
private function getAdditionalInfo(): array
{
	$members = $this->repository->getMembers();
	if ($members->isEmpty())
	{
		return [];
	}

	$memberIds = [];
	$taskMembers = [];
	foreach ($members as $member)
	{
		if ($member->getType() === $this->getRole())
		{
			$getEntityId = 'get' . $this->repository->getType() . 'Id';
			$taskMembers[$member->getUserId()] = new Member(
				$member->getUserId(),
				$this->getRole(),
				$member->$getEntityId(),
				$this->repository->getType()
			);

			$memberIds[] = $member->getUserId();
		}
	}

	if (empty($memberIds))
	{
		return [];
	}

	try
	{
		$query = UserTable::query();
		$query
			->setSelect(['ID', 'NAME', 'LAST_NAME', 'SECOND_NAME'])
			->whereIn('ID', $memberIds)
		;

		$users = $query->exec()->fetchCollection();
	}
	catch (Exception $exception)
	{
		throw new UserInfoException($exception->getMessage());
	}

	foreach ($users as $user)
	{
		$taskMembers[$user->getId()]->setName($this->getName($user));
	}

	static::$cache[$this->getKey($this->config)] = $taskMembers;
	return $taskMembers;
}