- Модуль: 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}')"
);
}