• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/controller/document/element.php
  • Класс: BitrixCatalogControllerDocumentElement
  • Вызов: Element::listAction
public function listAction(
	PageNavigation $pageNavigation,
	array $order = [],
	array $filter = [],
	array $select = []
): Page
{
	$filter['@DOCUMENT.DOC_TYPE'] = array_keys(CatalogControllerDocument::getAvailableRestDocumentTypes());

	$accessFilter = AccessController::getCurrent()->getEntityFilter(
		ActionDictionary::ACTION_STORE_DOCUMENT_VIEW,
		get_class($this->getEntityTable())
	);
	if ($accessFilter)
	{
		// combines through a new array so that the `OR` condition does not bypass the access filter.
		$filter = [
			$accessFilter,
			$filter,
		];
	}

	return new Page(
		'DOCUMENT_ELEMENTS',
		$this->getList($select, $filter, $order, $pageNavigation),
		$this->count($filter)
	);
}