DealChannelStatisticsTable::upsert

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. DealChannelStatisticsTable
  4. upsert
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/statistics/entity/dealchannelstatistics.php
  • Класс: Bitrix\Crm\Statistics\Entity\DealChannelStatisticsTable
  • Вызов: DealChannelStatisticsTable::upsert
static function upsert(array $data)
{
	$fields = array(
		'CREATED_DATE' => isset($data['CREATED_DATE']) ? $data['CREATED_DATE'] : null,
		'START_DATE' => isset($data['START_DATE']) ? $data['START_DATE'] : null,
		'END_DATE' => isset($data['END_DATE']) ? $data['END_DATE'] : null,
		'CHANNEL_ORIGIN_ID' => isset($data['CHANNEL_ORIGIN_ID']) ? $data['CHANNEL_ORIGIN_ID'] : '',
		'CHANNEL_COMPONENT_ID' => isset($data['CHANNEL_COMPONENT_ID']) ? $data['CHANNEL_COMPONENT_ID'] : '',
		'RESPONSIBLE_ID' => isset($data['RESPONSIBLE_ID']) ? (int)$data['RESPONSIBLE_ID'] : 0,
		'STAGE_SEMANTIC_ID' => isset($data['STAGE_SEMANTIC_ID']) ? $data['STAGE_SEMANTIC_ID'] : '',
		'CURRENCY_ID' => isset($data['CURRENCY_ID']) ? $data['CURRENCY_ID'] : '',
		'SUM_TOTAL' => isset($data['SUM_TOTAL']) ? $data['SUM_TOTAL'] : 0.0
	);

	$connection = Main\Application::getConnection();
	$queries = $connection->getSqlHelper()->prepareMerge(
		'b_crm_deal_channel_stat',
		array('OWNER_ID', 'CHANNEL_TYPE_ID'),
		array_merge(
			$fields,
			array(
				'OWNER_ID' => isset($data['OWNER_ID']) ? (int)$data['OWNER_ID'] : 0,
				'CHANNEL_TYPE_ID' => isset($data['CHANNEL_TYPE_ID']) ? (int)$data['CHANNEL_TYPE_ID'] : 0
			)
		),
		$fields
	);

	foreach($queries as $query)
	{
		$connection->queryExecute($query);
	}
}

Добавить комментарий