On this page
search
Поиск лидов
Примеры PHP-кода для поиска лидов в Битрикс24.
Поиск лидов по названию или связанным сущностям
Этот PHP-код позволяет искать лиды в Битрикс24 по названию, а также по связанным контактам или компаниям.
use Bitrix\Crm\LeadTable;
use Bitrix\Crm\Service\Container;
// Параметры поиска
$searchQuery = $this->GetRootActivity()->GetVariable("SearchQuery"); // Строка для поиска по названию
$contactId = $this->GetRootActivity()->GetVariable("ContactID"); // ID связанного контакта
$companyId = $this->GetRootActivity()->GetVariable("CompanyID"); // ID связанной компании
$arFilter = [];
if ($searchQuery) {
$arFilter['%TITLE'] = $searchQuery; // Поиск по части названия
}
if ($contactId) {
$arFilter['CONTACT_ID'] = $contactId;
}
if ($companyId) {
$arFilter['COMPANY_ID'] = $companyId;
}
$foundLeadsCount = 0;
$leadIDs = [];
$errorMessage = '';
if (empty($arFilter)) {
$errorMessage = "КРИТИЧНО: Не указаны параметры для поиска лидов.";
$this->WriteToTrackingService($errorMessage);
} else {
$arSelect = ['ID'];
$arLeads = LeadTable::getList([
'order' => ['ID' => 'DESC'],
'filter' => $arFilter,
'select' => $arSelect,
'cache' => ['ttl' => 3600]
])->fetchAll();
foreach ($arLeads as $lead) {
$leadIDs[] = $lead['ID'];
}
$foundLeadsCount = count($leadIDs);
}
$rootActivity = $this->GetRootActivity();
$rootActivity->SetVariable("FoundLeadsCount", $foundLeadsCount);
$rootActivity->SetVariable("LeadIDs", implode(",", $leadIDs));
$rootActivity->SetVariable("LeadSearchErrorMessage", $errorMessage);
Параметры
SearchQuery
(string, optional): Строка для поиска по названию лида.ContactID
(int, optional): ID связанного контакта для фильтрации.CompanyID
(int, optional): ID связанной компании для фильтрации.
Возвращаемые значения
FoundLeadsCount
(int): Количество найденных лидов.LeadIDs
(string): Строка с ID найденных лидов, разделенных запятыми.LeadSearchErrorMessage
(string): Сообщение об ошибке, если операция не удалась.
Рекомендации по использованию
- Используйте этот скрипт для поиска лидов по различным критериям.
- Можно комбинировать параметры поиска для более точных результатов.