- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/tracking/ad/index/indexbuilder.php
- Класс: Bitrix\Crm\Tracking\Ad\Index\IndexBuilder
- Вызов: IndexBuilder::closeDailyExpenses
private function closeDailyExpenses(Main\Type\Date $dateFrom, Main\Type\Date $dateTo, $packId = null)
{
$rowFrom = Tracking\Internals\SourceExpensesTable::getRow([
'select' => ['ID'],
'filter' => [
'=SOURCE_ID' => $this->sourceId,
'=DATE_STAT' => $dateFrom,
'=TYPE_ID' => Tracking\Internals\SourceExpensesTable::TYPE_AD,
],
]);
$rowTo = Tracking\Internals\SourceExpensesTable::getRow([
'select' => ['ID'],
'filter' => [
'=SOURCE_ID' => $this->sourceId,
'=DATE_STAT' => $dateTo,
'=TYPE_ID' => Tracking\Internals\SourceExpensesTable::TYPE_AD,
],
]);
if ($rowFrom && $rowTo)
{
return;
}
if (!$packId)
{
$packId = Tracking\Internals\ExpensesPackTable::add([
'SOURCE_ID' => $this->sourceId,
'TYPE_ID' => Tracking\Internals\ExpensesPackTable::TYPE_AD,
'DATE_FROM' => $this->dateFrom,
'DATE_TO' => $this->dateTo,
'ACTIONS' => 0,
'EXPENSES' => 0,
'CURRENCY_ID' => 0,
])->getId();
}
if (!$rowFrom)
{
Tracking\Internals\SourceExpensesTable::add([
'PACK_ID' => $packId,
'SOURCE_ID' => $this->sourceId,
'TYPE_ID' => Tracking\Internals\SourceExpensesTable::TYPE_AD,
'DATE_STAT' => $dateFrom,
'IMPRESSIONS' => 0,
'ACTIONS' => 0,
'EXPENSES' => 0,
'CURRENCY_ID' => 'USD',
'SOURCE_CHILD_ID' => 0,
]);
}
if (!$rowTo)
{
Tracking\Internals\SourceExpensesTable::add([
'PACK_ID' => $packId,
'SOURCE_ID' => $this->sourceId,
'TYPE_ID' => Tracking\Internals\SourceExpensesTable::TYPE_AD,
'DATE_STAT' => $dateTo,
'IMPRESSIONS' => 0,
'ACTIONS' => 0,
'EXPENSES' => 0,
'CURRENCY_ID' => 'USD',
'SOURCE_CHILD_ID' => 0,
]);
}
}