Получение всех компаний по телефонам и почте

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

use Bitrix\Crm\CompanyTable;  
  
$phoneString = "{{Phone}}";
$emailString = "{{E-mail}}";
  
$phoneNumbers = explode(", ", $phoneString);  
$emailAddresses = explode(", ", $emailString);  
  
$arFilter = array(
    'LOGIC' => 'OR',
    array('PHONE' => $phoneNumbers),
    array('EMAIL' => $emailAddresses)
);
  
$arSelect = array('ID');
  
$arCompanies = CompanyTable::getList(array(
    'order' => array('ID' => 'DESC'),
    'filter' => $arFilter,
    'select' => $arSelect,
    'cache' => array('ttl' => 3600)
))->fetchAll();
  
$companyIDs = array();
foreach ($arCompanies as $company) {
    $companyIDs[] = $company['ID'];
}
  
$rootActivity = $this->GetRootActivity();
  
$rootActivity->SetVariable("CompanyIDs", implode(",", $companyIDs));
$rootActivity->SetVariable("FoundCompaniesCount", count($companyIDs));

Получение списка ID всех компаний

Данный скрипт позволяет получить список идентификаторов всех компаний, зарегистрированных в Битрикс24.

use Bitrix\Crm\CompanyTable;

$arSelect = [
    'ID'
];

$arCompanies = CompanyTable::getList([
    'select' => $arSelect,
    'cache' => ['ttl' => 3600]
])->fetchAll();

$companyIDs = [];
foreach ($arCompanies as $company) {
    $companyIDs[] = $company['ID'];
}

$rootActivity = $this->GetRootActivity();

$rootActivity->SetVariable("CompanyIDs", implode(",", $companyIDs));
$rootActivity->SetVariable("FoundCompaniesCount", count($companyIDs));