- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/statistics/entity/activitychannelstatistics.php
- Класс: Bitrix\Crm\Statistics\Entity\ActivityChannelStatisticsTable
- Вызов: ActivityChannelStatisticsTable::upsert
static function upsert(array $data)
{
$fields = array(
'CREATED_DATE' => isset($data['CREATED_DATE']) ? $data['CREATED_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,
'COMPLETED' => isset($data['COMPLETED']) ? $data['COMPLETED'] : 'N',
'DIRECTION' => isset($data['DIRECTION']) ? $data['DIRECTION'] : \CCrmActivityDirection::Undefined,
);
$connection = Main\Application::getConnection();
$queries = $connection->getSqlHelper()->prepareMerge(
'b_crm_act_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);
}
}