• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/entity_query.php
  • Класс: CEntityQuery
  • Вызов: CEntityQuery::setFilterChains
public function setFilterChains(array $filter, $section = 'filter')
{
	foreach ($filter as $filter_def => $filter_match)
	{
		if ($filter_def === 'LOGIC')
		{
			continue;
		}

		if (!is_numeric($filter_def))
		{
			$csw_result = CSQLWhere::MakeOperation($filter_def);
			list($definition, ) = array_values($csw_result);

			$chain = $this->getRegisteredChain($definition, true);

			$this->registerChain($section, $chain, $definition);

			// fill hidden select
			if ($chain->getLastElement()->getValue() instanceof CExpressionEntityField)
			{
				$this->collectExprChains($chain);
			}
		}

		if (is_array($filter_match))
		{
			$this->setFilterChains($filter_match, $section);
		}
	}
}