• Модуль: rpa
  • Путь к файлу: ~/bitrix/modules/rpa/lib/components/base.php
  • Класс: BitrixRpaComponentsBase
  • Вызов: Base::getTypeIdForTopPanel
protected function getTypeIdForTopPanel(): ?int
{
	$typeId = $this->getLastVisitedTypeId();
	if($typeId > 0)
	{
		$filter = [
			[
				'LOGIC' => 'OR',
				Driver::getInstance()->getUserPermissions()->getFilterForViewableTypes(),
				'=ID' => $typeId,
			]
		];
		$types = TypeTable::getList([
			'select' => ['ID'],
			'filter' => $filter,
			'order' => [
				'ID' => 'ASC',
			],
		]);
	}
	else
	{
		$filter = Driver::getInstance()->getUserPermissions()->getFilterForViewableTypes();
		$types = TypeTable::getList([
			'select' => ['ID'],
			'filter' => $filter,
			'order' => [
				'ID' => 'ASC',
			],
			'limit' => 1,
		]);
	}
	$firstTypeId = null;
	while($typeData = $types->fetch())
	{
		if(!$typeId)
		{
			return (int) $typeData['ID'];
		}

		if(!$firstTypeId)
		{
			$firstTypeId = (int)$typeData['ID'];
		}

		if((int) $typeData['ID'] === $typeId)
		{
			return $typeId;
		}
	}

	return $firstTypeId;
}