• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integration/report/handler/salesdynamics/basegraph.php
  • Класс: Bitrix\Crm\Integration\Report\Handler\SalesDynamics\BaseGraph
  • Вызов: BaseGraph::prepareEntityListFilter
public function prepareEntityListFilter($requestParameters)
{
	$filterParameters = $this->getFilterParameters();

	$query = DealTable::query();
	$query->addSelect('ID');
	$this->addToQueryFilterCase($query, $filterParameters);
	//$this->addPermissionsCheck($query);

	foreach ($requestParameters as $parameter => $value)
	{
		switch ($parameter)
		{
			case 'CLOSEDATE':
				$query->where('CLOSEDATE', new Date($value, static::DATE_INDEX_FORMAT));
				break;
			case 'CLOSEDATE_from':
				$query->where('CLOSEDATE', '>=', new Date($value, static::DATE_INDEX_FORMAT));
				break;
			case 'CLOSEDATE_to':
				$query->where('CLOSEDATE', '<', new Date($value, static::DATE_INDEX_FORMAT));
				break;
			case 'IS_RETURN_CUSTOMER':
			case 'STAGE_SEMANTIC_ID':
				$query->where($parameter, $value);
				break;
		}
	}

	return [
		'__JOINS' => [
			[
				'TYPE' => 'INNER',
				'SQL' => 'INNER JOIN('.$query->getQuery().') REP ON REP.ID = L.ID'
			]
		]
	];
}