• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/widget/data/company/invoicesumstatistics.php
  • Класс: Bitrix\Crm\Widget\Data\Company\InvoiceSumStatistics
  • Вызов: InvoiceSumStatistics::getDetailsPageUrl
public function getDetailsPageUrl(array $params)
{
	$urlParams = array('WG' => 'Y', 'DS' => $this->getTypeName(), 'page' => '1', 'PN' => $this->getPresetName());

	/** @var string $field */
	$field = isset($params['field']) ? $params['field'] : '';
	if($field !== '')
	{
		$urlParams['FIELD'] = $field;
	}

	/** @var Filter $filter */
	$filter = isset($params['filter']) ? $params['filter'] : null;
	if(!($filter instanceof Filter))
	{
		throw new Main\ObjectNotFoundException("The 'filter' is not found in params.");
	}

	$filterParams = self::externalizeFilter($filter);
	foreach($filterParams as $k => $v)
	{
		if(!is_array($v))
		{
			$urlParams[$k] = $v;
		}
		else
		{
			$qty = count($v);
			for($i = 0; $i < $qty; $i++)
			{
				$urlParams["{$k}[{$i}]"] = $v[$i];
			}
		}
	}

	if (
		$filter->getContextEntityTypeName() === \CCrmOwnerType::CompanyName
		&& $filter->getContextEntityID() > 0
	)
	{
		$urlParams['ENTITY_ID'] = $filter->getContextEntityID();
	}

	return \CHTTP::urlAddParams(self::getEntityListPath(), $urlParams);
}