• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/statistics/entity/dealsumstatistics.php
  • Класс: Bitrix\Crm\Statistics\Entity\DealSumStatisticsTable
  • Вызов: DealSumStatisticsTable::synchronize
static function synchronize($ownerID, array $data, $semanticID)
{
	if(!is_int($ownerID))
	{
		$ownerID = (int)$ownerID;
	}

	if($ownerID <= 0)
	{
		throw new Main\ArgumentException('Owner ID must be greater than zero.', 'ownerID');
	}

	$connection = Main\Application::getConnection();
	$sqlHelper = $connection->getSqlHelper();

	$dateField = new DatetimeField('D');
	$created = $sqlHelper->convertToDb(isset($data['CREATED_DATE']) ? $data['CREATED_DATE'] : null, $dateField);
	$start = $sqlHelper->convertToDb(isset($data['START_DATE']) ? $data['START_DATE'] : null, $dateField);
	$end = $sqlHelper->convertToDb(isset($data['END_DATE']) ? $data['END_DATE'] : null, $dateField);
	$userID = isset($data['RESPONSIBLE_ID']) ? (int)$data['RESPONSIBLE_ID'] : 0;
	$semantics = is_array($semanticID) ? implode("','", $semanticID) : $semanticID;

	Main\Application::getConnection()->queryExecute(
		"UPDATE b_crm_deal_sum_stat SET CREATED_DATE = {$created}, START_DATE = {$start},
			END_DATE = {$end}, RESPONSIBLE_ID = {$userID} WHERE OWNER_ID = {$ownerID} AND STAGE_SEMANTIC_ID IN('{$semantics}')"
	);
}