• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/volume/base.php
  • Класс: BitrixDiskVolumeBase
  • Вызов: Base::loadTotals
public function loadTotals()
{
	$filter = $this->getFilter(
		[
			'=INDICATOR_TYPE' => static::className(),
			'=OWNER_ID' => $this->getOwner(),
			'>FILE_COUNT' => 0,
			'>FILES_LEFT' => 0,
		],
		VolumeTable::getEntity()
	);
	$row = VolumeTable::getRow([
		'runtime' => [
			new EntityExpressionField('CNT', 'COUNT(*)'),
			new EntityExpressionField('FILE_SIZE', 'SUM(FILE_SIZE)'),
			new EntityExpressionField('FILE_COUNT', 'SUM(FILE_COUNT)'),
			new EntityExpressionField('DISK_SIZE', 'SUM(DISK_SIZE)'),
			new EntityExpressionField('DISK_COUNT', 'SUM(DISK_COUNT)'),
			new EntityExpressionField('VERSION_COUNT', 'SUM(VERSION_COUNT)'),
			new EntityExpressionField('PREVIEW_SIZE', 'SUM(PREVIEW_SIZE)'),
			new EntityExpressionField('PREVIEW_COUNT', 'SUM(PREVIEW_COUNT)'),
			new EntityExpressionField('ATTACHED_COUNT', 'SUM(ATTACHED_COUNT)'),
			new EntityExpressionField('LINK_COUNT', 'SUM(LINK_COUNT)'),
			new EntityExpressionField('SHARING_COUNT', 'SUM(SHARING_COUNT)'),
			new EntityExpressionField('UNNECESSARY_VERSION_SIZE', 'SUM(UNNECESSARY_VERSION_SIZE)'),
			new EntityExpressionField('UNNECESSARY_VERSION_COUNT', 'SUM(UNNECESSARY_VERSION_COUNT)'),
		],
		'select' => [
			'CNT',
			'FILE_SIZE',
			'FILE_COUNT',
			'DISK_SIZE',
			'DISK_COUNT',
			'VERSION_COUNT',
			'PREVIEW_SIZE',
			'PREVIEW_COUNT',
			'ATTACHED_COUNT',
			'LINK_COUNT',
			'SHARING_COUNT',
			'UNNECESSARY_VERSION_SIZE',
			'UNNECESSARY_VERSION_COUNT',
		],
		'filter' => $filter,
	]);
	if ($row)
	{
		$this->resultAvailable = (bool)($row['CNT'] > 0);
		$this->totalSize = (double)$row['FILE_SIZE'];
		$this->totalCount = (double)$row['FILE_COUNT'];
		$this->diskSize = (double)$row['DISK_SIZE'];
		$this->diskCount = (double)$row['DISK_COUNT'];
		$this->totalVersion = (double)$row['VERSION_COUNT'];
		$this->previewSize = (double)$row['PREVIEW_SIZE'];
		$this->previewCount = (double)$row['PREVIEW_COUNT'];
		$this->totalAttached = (double)$row['ATTACHED_COUNT'];
		$this->totalLink = (double)$row['LINK_COUNT'];
		$this->totalSharing = (double)$row['SHARING_COUNT'];
		$this->unnecessaryVersionSize = (double)$row['UNNECESSARY_VERSION_SIZE'];
		$this->unnecessaryVersionCount = (double)$row['UNNECESSARY_VERSION_COUNT'];
	}

	return $row;
}