On this page
search
Получение лидов по диапазону дат с подсчетом количества
Пример PHP-кода для получения лидов по диапазону дат с подсчетом их количества в Битрикс24.
Этот PHP-код позволяет получить все лиды по диапазону дат, а также подсчитать их количество.
use Bitrix\Crm\LeadTable;
// >=DATE_CREATE и <=DATE_CREATE - отвечают за диапазон дат ОТ и ДО какой "Даты Создания" лида фильтруем, каждое значение можете заменить на переменную (в двойных кавычках), либо указать конкретное значение (в одинарных - как текст) как это указано ниже
$arFilter =[
'>=DATE_CREATE' => "{=Variable:DATE_CREATE_START}",
'<=DATE_CREATE' => "{=Variable:DATE_CREATE_FINISH}"];
$arSelect =[
'ID',
'OPPORTUNITY',
'CURRENCY_ID'];
$arLeads = LeadTable::getList([
'order' =>['ID' => 'DESC'],
'filter' => $arFilter,
'select' => $arSelect,
'cache' =>['ttl' => 3600]
])->fetchAll();
$leads =[];
$rub = 0;
$dollar = 0;
foreach ($arLeads as $lead){
$leads[]= $lead['ID'];
if ($lead['CURRENCY_ID']== 'RUB'){
$rub += $lead['OPPORTUNITY'];}elseif ($lead['CURRENCY_ID']== 'USD'){
$dollar += $lead['OPPORTUNITY'];}
}
$count = count($leads);
$rootActivity = $this->GetRootActivity();
// Присваиваем переменным в БП (LeadIDs, rub, dollar, count_lead) значения массива с идентификаторами лидов и сумм лидов в разных валютах, также их кол-во
$rootActivity->SetVariable("LeadIDs", $leads);
$rootActivity->SetVariable("rub", $rub);
$rootActivity->SetVariable("dollar", $dollar);
$rootActivity->SetVariable("count_lead", $count);