• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/volume/base.php
  • Класс: BitrixDiskVolumeBase
  • Вызов: Base::getCorrespondingFileList
public function getCorrespondingFileList(array $additionalFilter = []): MainDBResult
{
	$filterToFileList = [];

	$storageId =  $this->getFilterValue('STORAGE_ID', '=');
	if (!empty($storageId))
	{
		$filterToFileList['=STORAGE_ID'] = $storageId;
	}
	$folderId =  $this->getFilterValue('FOLDER_ID', '=');
	if (!empty($folderId))
	{
		$filterToFileList['=PATH_CHILD.PARENT_ID'] = $folderId;
	}

	$filterToFileList['=TYPE'] = DiskInternalsObjectTable::TYPE_FILE;

	if ($this instanceof VolumeStorageTrashCan)
	{
		$filterToFileList['>=IS_REAL_OBJECT'] = 0;
	}
	else
	{
		$filterToFileList['=IS_REAL_OBJECT'] = 1;
	}

	if (!isset($additionalFilter['!DELETED_TYPE']))
	{
		$filterToFileList['=DELETED_TYPE'] = DiskInternalsObjectTable::DELETED_TYPE_NONE;
	}

	$filterToFileList = array_merge($filterToFileList, $additionalFilter);

	$fileList = DiskFile::getList([
		'select'  => ['ID'],
		'filter'  => $filterToFileList,
		'runtime' => [
			'IS_REAL_OBJECT' => new MainEntityExpressionField(
				'IS_REAL_OBJECT',
				'CASE WHEN disk_internals_file.ID = disk_internals_file.REAL_OBJECT_ID THEN 1 ELSE 0 END'
			),
		],
		'order' => [
			'ID' => 'ASC',
		],
		'limit' => $this->getLimit(),
	]);

	return $fileList;
}