- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/statistics/entity/contactactivitystreamstatistics.php
- Класс: Bitrix\Crm\Statistics\Entity\ContactActivityStreamStatisticsTable
- Вызов: ContactActivityStreamStatisticsTable::upsert
static function upsert(array $data)
{
$fields = array(
'RESPONSIBLE_ID' => isset($data['RESPONSIBLE_ID']) ? (int)$data['RESPONSIBLE_ID'] : 0,
'INCOMING_QTY' => isset($data['INCOMING_QTY']) ? (int)$data['INCOMING_QTY'] : 0,
'OUTGOING_QTY' => isset($data['OUTGOING_QTY']) ? (int)$data['OUTGOING_QTY'] : 0,
'REVERSING_QTY' => isset($data['REVERSING_QTY']) ? (int)$data['REVERSING_QTY'] : 0,
'MISSING_QTY' => isset($data['MISSING_QTY']) ? (int)$data['MISSING_QTY'] : 0
);
$connection = Main\Application::getConnection();
$queries = $connection->getSqlHelper()->prepareMerge(
'b_crm_contact_act_stm_stat',
array('OWNER_ID', 'DEADLINE_DATE', 'PROVIDER_ID', 'PROVIDER_TYPE_ID'),
array_merge(
$fields,
array(
'OWNER_ID' => isset($data['OWNER_ID']) ? $data['OWNER_ID'] : 0,
'DEADLINE_DATE' => isset($data['DEADLINE_DATE']) ? $data['DEADLINE_DATE'] : null,
'PROVIDER_ID' => isset($data['PROVIDER_ID']) ? $data['PROVIDER_ID'] : null,
'PROVIDER_TYPE_ID' => isset($data['PROVIDER_TYPE_ID']) ? $data['PROVIDER_TYPE_ID'] : null
)
),
$fields
);
foreach($queries as $query)
{
$connection->queryExecute($query);
}
}