- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/integration/main/uiselector/crmleads.php
- Класс: Bitrix\Crm\Integration\Main\UISelector\CrmLeads
- Вызов: CrmLeads::getSearchFilter
protected function getSearchFilter(string $search, array $options)
{
$filter = false;
if (check_email($search, true))
{
$entityIdList = [];
$res = CCrmFieldMulti::getList(
[],
[
'ENTITY_ID' => CCrmOwnerType::LeadName,
'TYPE_ID' => CCrmFieldMulti::EMAIL,
'VALUE' => $search
]
);
while($multiFields = $res->fetch())
{
$entityIdList[] = $multiFields['ELEMENT_ID'];
}
if (!empty($entityIdList))
{
$filter = ['@ID' => $entityIdList];
}
}
else
{
$filter = [
'LOGIC' => 'OR',
'%FULL_NAME' => $search,
'%TITLE' => $search
];
$filter = [
'SEARCH_CONTENT' => $search,
'__ENABLE_SEARCH_CONTENT_PHONE_DETECTION' => false,
'__INNER_FILTER_1' => $filter,
];
}
return
is_array($filter)
? $this->prepareOptionalFilter($filter, $options)
: false
;
}