- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/config/entity/entityconfig.php
- Класс: Bitrix\Crm\Config\Entity\EntityConfigTable
- Вызов: EntityConfigTable::upsert
static function upsert(array $data)
{
$entityTypeID = isset($data['ENTITY_TYPE_ID']) ? (int)$data['ENTITY_TYPE_ID'] : 0;
if($entityTypeID <= 0)
{
throw new Main\ArgumentException('Must contains ENTITY_TYPE_ID field.', 'data');
}
$entityID = isset($data['ENTITY_ID']) ? (int)$data['ENTITY_ID'] : 0;
if($entityID <= 0)
{
throw new Main\ArgumentException('Must contains ENTITY_ID field.', 'data');
}
$userID = isset($data['USER_ID']) ? (int)$data['USER_ID'] : 0;
if($userID <= 0)
{
throw new Main\ArgumentException('Must contains USER_ID field.', 'data');
}
$settings = isset($data['SETTINGS']) ? $data['SETTINGS'] : '';
$connection = Main\Application::getConnection();
$queries = $connection->getSqlHelper()->prepareMerge(
'b_crm_entity_cfg',
array('ENTITY_TYPE_ID', 'ENTITY_ID', 'USER_ID'),
array('ENTITY_TYPE_ID' => $entityTypeID, 'ENTITY_ID' => $entityID, 'USER_ID' => $userID, 'SETTINGS' => $settings),
array('SETTINGS' => $settings)
);
foreach($queries as $query)
{
$connection->queryExecute($query);
}
}