On this page
search
Получение сделок
Примеры PHP-кода для получения сделок в Битрикс24.
Получение сделок по фильтру
Этот PHP-код позволяет получить список сделок в Битрикс24, используя различные фильтры.
use Bitrix\Crm\DealTable;
// Параметры фильтрации
$dealId = $this->GetRootActivity()->GetVariable("DealID"); // ID конкретной сделки
$stageId = $this->GetRootActivity()->GetVariable("StageID"); // Стадия сделки
$dateFrom = $this->GetRootActivity()->GetVariable("DateFrom"); // Дата создания от (YYYY-MM-DD)
$dateTo = $this->GetRootActivity()->GetVariable("DateTo"); // Дата создания до (YYYY-MM-DD)
$arFilter = [];
if ($dealId) {
$arFilter['ID'] = $dealId;
}
if ($stageId) {
$arFilter['STAGE_ID'] = $stageId;
}
if ($dateFrom) {
$arFilter['>=DATE_CREATE'] = $dateFrom . ' 00:00:00';
}
if ($dateTo) {
$arFilter['<=DATE_CREATE'] = $dateTo . ' 23:59:59';
}
$foundDealsCount = 0;
$dealIDs = [];
$errorMessage = '';
if (empty($arFilter)) {
$errorMessage = "КРИТИЧНО: Не указаны параметры фильтрации для получения сделок.";
$this->WriteToTrackingService($errorMessage);
} else {
$arSelect = ['ID'];
$arDeals = DealTable::getList([
'order' => ['ID' => 'DESC'],
'filter' => $arFilter,
'select' => $arSelect,
'cache' => ['ttl' => 3600]
])->fetchAll();
foreach ($arDeals as $deal) {
$dealIDs[] = $deal['ID'];
}
$foundDealsCount = count($dealIDs);
}
$rootActivity = $this->GetRootActivity();
$rootActivity->SetVariable("FoundDealsCount", $foundDealsCount);
$rootActivity->SetVariable("DealIDs", implode(",", $dealIDs));
$rootActivity->SetVariable("DealSearchErrorMessage", $errorMessage);
Параметры
DealID
(int, optional): ID конкретной сделки для поиска.StageID
(string, optional): Стадия сделки для фильтрации.DateFrom
(string, optional): Дата создания сделки от (в формате ‘YYYY-MM-DD’).DateTo
(string, optional): Дата создания сделки до (в формате ‘YYYY-MM-DD’).
Возвращаемые значения
FoundDealsCount
(int): Количество найденных сделок.DealIDs
(string): Строка с ID найденных сделок, разделенных запятыми.DealSearchErrorMessage
(string): Сообщение об ошибке, если операция не удалась.
Рекомендации по использованию
- Используйте этот скрипт для получения списка сделок по заданным критериям.
- Можно комбинировать различные параметры фильтрации для более точного поиска.