Получение лидов по телефонам и почте, находящихся в работе

Этот PHP-код позволяет получить список ID лидов, находящихся в работе, используя фильтрацию по номерам телефонов и адресам электронной почты.

use Bitrix\Crm\LeadTable;  
  
$phoneString = "{{Phone}}";  
$emailString = "{{E-mail}}";  
  
$phoneNumbers = explode(", ", $phoneString);  
$emailAddresses = explode(", ", $emailString);  
  
$arFilter = array(  
'LOGIC' => 'OR',  
array('PHONE' => $phoneNumbers),  
array('EMAIL' => $emailAddresses)  
);  
  
$arSelect = array('ID');  
  
$arLeads = LeadTable::getList(array(  
'order' => array('ID' => 'DESC'),  
'filter' => $arFilter,  
'select' => $arSelect,  
'cache' => array('ttl' => 3600)  
))->fetchAll();  
  
$leadIDs = array();  
foreach ($arLeads as $lead) {  
    $leadIDs[] = $lead['ID'];  
}  
  
$rootActivity = $this->GetRootActivity();  
  
$rootActivity->SetVariable("LeadIDs", $leadIDs);

Получение лидов по телефонам, почте и направлению

Этот PHP-код позволяет получить список ID лидов, имеющих определенное направление, используя фильтрацию по номерам телефонов и адресам электронной почты.

use Bitrix\Crm\LeadTable;  
  
$phoneString = "{{Phone}}";  
$emailString = "{{E-mail}}";  
$leadDirection = 13; // Замените 13 на ваше значение CATEGORY_ID направления лида  
  
$phoneNumbers = explode(", ", $phoneString);  
$emailAddresses = explode(", ", $emailString);  
  
$arFilter = array(  
'LOGIC' => 'OR',  
array('PHONE' => $phoneNumbers),  
array('EMAIL' => $emailAddresses)  
);  
  
$arSelect = array('ID');  
  
$arLeads = LeadTable::getList(array(  
'order' => array('ID' => 'DESC'),  
'filter' => $arFilter,  
'select' => $arSelect,  
'cache' => array('ttl' => 3600)  
))->fetchAll();  
  
$leadIDs = array();  
foreach ($arLeads as $lead) {  
    $leadIDs[] = $lead['ID'];  
}  
  
// Проверяем, имеют ли лиды указанное направление  
$filteredLeadIDs = array();  
foreach ($leadIDs as $leadID) {  
    $lead = LeadTable::getById($leadID)->fetch();  
    if ($lead['CATEGORY_ID'] == $leadDirection) {  
        $filteredLeadIDs[] = $leadID;  
    }  
}  
  
$rootActivity = $this->GetRootActivity();  
  
$rootActivity->SetVariable("LeadIDs", $filteredLeadIDs);

Получение закрытых лидов по телефонам, почте и направлению

Этот PHP-код позволяет получить список ID закрытых лидов, имеющих определенное направление, используя фильтрацию по номерам телефонов и адресам электронной почты.

use Bitrix\Crm\LeadTable;  
  
$phoneString = "{{Phone}}";  
$emailString = "{{E-mail}}";  
$leadDirection = 0; // Замените на ваше значение CATEGORY_ID направления лида  
  
$phoneNumbers = explode(", ", $phoneString);  
$emailAddresses = explode(", ", $emailString);  
  
$arFilter = array(  
'LOGIC' => 'OR',  
array('PHONE' => $phoneNumbers),  
array('EMAIL' => $emailAddresses)  
);  
  
$arSelect = array('ID');  
  
$arLeads = LeadTable::getList(array(  
'order' => array('ID' => 'DESC'),  
'filter' => $arFilter,  
'select' => $arSelect,  
'cache' => array('ttl' => 3600)  
))->fetchAll();  
  
$leadIDs = array();  
foreach ($arLeads as $lead) {  
    $leadIDs[] = $lead['ID'];  
}  
  
// Проверяем, являются ли лиды закрытыми и имеют указанное направление  
$filteredLeadIDs = array();  
foreach ($leadIDs as $leadID) {  
    $lead = LeadTable::getById($leadID)->fetch();  
    if ($lead['STATUS_ID'] === 'CONVERTED' || $lead['STATUS_ID'] === 'JUNK' && $lead['CATEGORY_ID'] == $leadDirection) {  
        $filteredLeadIDs[] = $leadID;  
    }  
}  
  
$rootActivity = $this->GetRootActivity();  
  
$rootActivity->SetVariable("LeadIDs", $filteredLeadIDs);

Получение лидов по телефонам и почте

Этот PHP-код позволяет получить список ID лидов, используя фильтрацию по номерам телефонов и адресам электронной почты.

use Bitrix\Crm\LeadTable;  
  
$phoneString = "{{Phone}}";  
$emailString = "{{E-mail}}";  
  
$phoneNumbers = explode(", ", $phoneString);  
$emailAddresses = explode(", ", $emailString);  
  
$arFilter = array(  
'LOGIC' => 'OR',  
array('PHONE' => $phoneNumbers),  
array('EMAIL' => $emailAddresses)  
);  
  
$arSelect = array('ID');  
  
$arLeads = LeadTable::getList(array(  
'order' => array('ID' => 'DESC'),  
'filter' => $arFilter,  
'select' => $arSelect,  
'cache' => array('ttl' => 3600)  
))->fetchAll();  
  
$leadIDs = array();  
foreach ($arLeads as $lead) {  
    $leadIDs[] = $lead['ID'];  
}  
  
$rootActivity = $this->GetRootActivity();  
  
$rootActivity->SetVariable("LeadIDs", $leadIDs);