• Модуль: 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,
		]);
	}
}