• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integration/main/uiselector/crmdynamics.php
  • Класс: Bitrix\Crm\Integration\Main\UISelector\CrmDynamics
  • Вызов: CrmDynamics::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);
	$entityTypeId = (int)$params['options']['typeId'];

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

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

		$list = Container::getInstance()->getFactory($entityTypeId)->getItemsFilteredByPermissions(
			[
				'order' => $this->getSearchOrder(),
				'select' => $this->getSearchSelect(),
				'limit' => static::LIMIT_SEARCH,
				'filter' => $filter,
			]
		);

		$resultItems = [];

		foreach ($list as $item)
		{
			$resultItems[$prefix . $item->getId()] = static::prepareEntity($item, $entityOptions);
		}

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

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

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

	return $result;
}