• Модуль: report
  • Путь к файлу: ~/bitrix/modules/report/lib/visualconstructor/runtimeprovider/base.php
  • Класс: BitrixReportVisualConstructorRuntimeProviderBase
  • Вызов: Base::getFilteredValues
private function getFilteredValues($indices)
{
	$filteredEntityIds = array();
	foreach ($this->getFilters() as $filterType => $filterValues)
	{
		if ($filterType !== 'primary')
		{
			$newFilterEntityIds = array();
			foreach ($filterValues as $filterKey)
			{
				foreach ($filterKey as $filterValue)
				{
					if (isset($indices[$filterType][$filterValue]))
					{
						$newFilterEntityIds = array_merge($newFilterEntityIds, $indices[$filterType][$filterValue]);
					}
				}
			}
			if (!empty($filteredEntityIds))
			{
				$filteredEntityIds = array_intersect($filteredEntityIds, $newFilterEntityIds);
			}
			else
			{
				$filteredEntityIds = $newFilterEntityIds;
			}
		}
		else
		{
			if (!empty($filteredEntityIds))
			{
				$filteredEntityIds = array_intersect($filteredEntityIds, $filterValues[0]);
			}
			else
			{
				$filteredEntityIds = $filterValues[0];
			}
		}
	}
	return array_unique($filteredEntityIds);
}