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