• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integration/main/uiselector/crmdeals.php
  • Класс: Bitrix\Crm\Integration\Main\UISelector\CrmDeals
  • Вызов: CrmDeals::search
public function search($params = [])
{
	$result = [
		'ITEMS' => [],
		'ADDITIONAL_INFO' => [],
	];

	$entityOptions = (!empty($params['options']) ? $params['options'] : []);
	$requestFields = (!empty($params['requestFields']) ? $params['requestFields'] : []);
	$search = $requestFields['searchString'];
	$prefix = static::getPrefix($entityOptions);

	if (
		$search <> ''
		&& (
			empty($entityOptions['enableSearch'])
			|| $entityOptions['enableSearch'] != 'N'
		)
	)
	{
		$filter = $this->getSearchFilter($search, $entityOptions);

		if ($filter === false)
		{
			return $result;
		}

		$res = CCrmDeal::getListEx(
			$this->getSearchOrder(),
			$filter,
			false,
			['nTopCount' => 20],
			$this->getSearchSelect()
		);

		$resultItems = [];

		while ($dealFields = $res->fetch())
		{
			$resultItems[$prefix . $dealFields['ID']] = static::prepareEntity($dealFields, $entityOptions);
		}

		$resultItems = $this->appendItemsByIds($resultItems, $search, $entityOptions);

		$resultItems = $this->processResultItems($resultItems, $entityOptions);

		$result["ITEMS"] = $resultItems;
	}

	return $result;
}