- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/observer/entity/observertable.php
- Класс: Bitrix\Crm\Observer\Entity\ObserverTable
- Вызов: ObserverTable::upsert
static function upsert(array $data)
{
$entityTypeID = isset($data['ENTITY_TYPE_ID']) ? (int)$data['ENTITY_TYPE_ID'] : \CCrmOwnerType::Undefined;
$entityID = isset($data['ENTITY_ID']) ? (int)$data['ENTITY_ID'] : 0;
$userID = isset($data['USER_ID']) ? (int)$data['USER_ID'] : 0;
$sort = isset($data['SORT']) ? (int)$data['SORT'] : 0;
$now = new Main\Type\DateTime();
$connection = Main\Application::getConnection();
$queries = $connection->getSqlHelper()->prepareMerge(
'b_crm_observer',
array('ENTITY_TYPE_ID', 'ENTITY_ID', 'USER_ID'),
array(
'ENTITY_TYPE_ID' => $entityTypeID,
'ENTITY_ID' => $entityID,
'USER_ID' => $userID,
'SORT' => $sort,
'CREATED_TIME' => $now,
'LAST_UPDATED_TIME' => $now
),
array('SORT' => $sort, 'LAST_UPDATED_TIME' => $now)
);
foreach($queries as $query)
{
$connection->queryExecute($query);
}
}