• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/search/result/provider/indexsupported/contactprovider.php
  • Класс: Bitrix\Crm\Search\Result\Provider\IndexSupported\ContactProvider
  • Вызов: ContactProvider::searchByDenomination
protected function searchByDenomination(string $searchQuery): Result
{
	$result = new Result();

	$parts = preg_split('/[\s]+/', $searchQuery, 2, PREG_SPLIT_NO_EMPTY);
	if (count($parts) < 2)
	{
		$filter = ['%FULL_NAME' => $searchQuery];
	}
	else
	{
		$filter = ['LOGIC' => 'AND'];
		for ($i = 0; $i < 2; $i++)
		{
			$filter["__INNER_FILTER_NAME_{$i}"] = ['%FULL_NAME' => $parts[$i]];
		}
	}

	if (!empty($this->additionalFilter))
	{
		$filter = array_merge($filter, $this->additionalFilter);
	}

	$contacts = \CCrmContact::GetListEx(
		[],
		$filter,
		false,
		['nTopCount' => $this->limit],
		['ID']
	);

	while ($contact = $contacts->Fetch())
	{
		$result->addId($contact['ID']);
	}

	return $result;
}