- Модуль: 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;
}