Получаем все сделки по Контакту, За Период, Направлению, Стадии, Суммы по сделкам (отдельно - в разных валютах)
Код фильтрует сделки на основе указанных Контактов, Периода, Направления и Стадии сделки. Сохраняет ID полученных сделок в переменной процесса.
Выводит сумму сделок в разных валютах
use Bitrix\Crm\DealTable;
$phoneString = "{{Phone}}";
$emailString = "{{E-mail}}";
$dealDirection = 13; // Замените 13 на ваше значение CATEGORY_ID направления сделки
$phoneNumbers = explode(", ", $phoneString);
$emailAddresses = explode(", ", $emailString);
$arFilter = array(
'LOGIC' => 'OR',
array('CONTACT.PHONE' => $phoneNumbers),
array('COMPANY.PHONE' => $phoneNumbers),
array('CONTACT.EMAIL' => $emailAddresses),
array('COMPANY.EMAIL' => $emailAddresses)
);
$arSelect = array('ID');
$arDeals = DealTable::getList(array(
'order' => array('ID' => 'DESC'),
'filter' => $arFilter,
'select' => $arSelect,
'cache' => array('ttl' => 3600)
))->fetchAll();
$dealIDs = array();
foreach ($arDeals as $deal){ $dealIDs[]= $deal['ID']; } // Проверяем, являются ли сделки открытыми и имеют указанное направление
$filteredDealIDs = array();
foreach ($dealIDs as $dealID){ $deal = DealTable::getById($dealID)->fetch();
if ($deal['CLOSED']=== 'N' && $deal['CATEGORY_ID']== $dealDirection) { $filteredDealIDs[]= $dealID;
} } $rootActivity = $this->GetRootActivity();
$rootActivity->SetVariable("DealIDs", $filteredDealIDs);
Cookie-файлы
Настройка cookie-файлов
Детальная информация о целях обработки данных и поставщиках, которые мы используем на наших сайтах
Аналитические Cookie-файлыОтключить все
Технические Cookie-файлы
Другие Cookie-файлы
Мы используем файлы Cookie для улучшения работы, персонализации и повышения удобства пользования нашим сайтом. Продолжая посещать сайт, вы соглашаетесь на использование нами файлов Cookie.Подробнее о нашей политике в отношении Cookie.