• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/statistics/dealinvoicestatisticentry.php
  • Класс: Bitrix\Crm\Statistics\DealInvoiceStatisticEntry
  • Вызов: DealInvoiceStatisticEntry::innerRegister
static function innerRegister(array $data)
{
	$date = isset($data['CREATED_DATE']) ? $data['CREATED_DATE'] : new Date();
	$day = (int)$date->format('d');
	$month = (int)$date->format('m');
	$quarter = $month <= 3 ? 1 : ($month <= 6 ? 2 : ($month <= 9 ? 3 : 4));
	$year = (int)$date->format('Y');

	DealInvoiceStatisticsTable::upsert(
		array(
			'CREATED_DATE' => $date,
			'PERIOD_YEAR' => $year,
			'PERIOD_QUARTER' => $quarter,
			'PERIOD_MONTH' => $month,
			'PERIOD_DAY' => $day,
			'OWNER_ID' => isset($data['OWNER_ID']) ? $data['OWNER_ID'] : 0,
			'START_DATE' => isset($data['START_DATE']) ? $data['START_DATE'] : new Date(),
			'END_DATE' => isset($data['END_DATE']) ? $data['END_DATE'] : new Date(),
			'RESPONSIBLE_ID' => isset($data['RESPONSIBLE_ID']) ? $data['RESPONSIBLE_ID'] : 0,
			'CATEGORY_ID' => isset($data['CATEGORY_ID']) ? $data['CATEGORY_ID'] : 0,
			'STAGE_SEMANTIC_ID' => isset($data['STAGE_SEMANTIC_ID']) ? $data['STAGE_SEMANTIC_ID'] : '',
			'STAGE_ID' => isset($data['STAGE_ID']) ? $data['STAGE_ID'] : '',
			'IS_LOST' => isset($data['IS_LOST']) ? $data['IS_LOST'] : 'N',
			'CURRENCY_ID' => isset($data['CURRENCY_ID']) ? $data['CURRENCY_ID'] : '',
			'INVOICE_SUM' => isset($data['INVOICE_SUM']) ? $data['INVOICE_SUM'] : 0.0,
			'INVOICE_QTY' => isset($data['INVOICE_QTY']) ? $data['INVOICE_QTY'] : 0,
			'TOTAL_INVOICE_SUM' => isset($data['TOTAL_INVOICE_SUM']) ? $data['TOTAL_INVOICE_SUM'] : 0.0,
			'TOTAL_INVOICE_QTY' => isset($data['TOTAL_INVOICE_QTY']) ? $data['TOTAL_INVOICE_QTY'] : 0,
			'TOTAL_SUM' => isset($data['TOTAL_SUM']) ? $data['TOTAL_SUM'] : 0.0
		)
	);
}