• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/recycling/entity/relation.php
  • Класс: Bitrix\Crm\Recycling\Entity\RelationTable
  • Вызов: RelationTable::updateEntityID
static function updateEntityID($entityTypeID, $oldEntityID, $newEntityID, $recyclingEntityID = 0)
{
	if(!is_int($entityTypeID))
	{
		$entityTypeID = (int)$entityTypeID;
	}

	if(!is_int($oldEntityID))
	{
		$oldEntityID = (int)$oldEntityID;
	}

	if(!is_int($newEntityID))
	{
		$newEntityID = (int)$newEntityID;
	}

	if(!is_int($recyclingEntityID))
	{
		$recyclingEntityID = (int)$recyclingEntityID;
	}

	$connection = Main\Application::getConnection();

	if($recyclingEntityID > 0)
	{
		$connection->queryExecute(
			"UPDATE b_crm_recycling_relation 
			SET SRC_ENTITY_ID = {$newEntityID}, PREVIOUS_SRC_ENTITY_ID = {$oldEntityID} 
			WHERE SRC_ENTITY_TYPE_ID = {$entityTypeID} AND SRC_ENTITY_ID = {$oldEntityID} AND SRC_RECYCLE_BIN_ID = {$recyclingEntityID}"
		);
		$connection->queryExecute(
			"UPDATE b_crm_recycling_relation 
			SET DST_ENTITY_ID = {$newEntityID}, PREVIOUS_DST_ENTITY_ID = {$oldEntityID}  
			WHERE DST_ENTITY_TYPE_ID = {$entityTypeID} AND DST_ENTITY_ID = {$oldEntityID} AND DST_RECYCLE_BIN_ID = {$recyclingEntityID}"
		);
	}
	else
	{
		$connection->queryExecute(
			"UPDATE b_crm_recycling_relation 
			SET SRC_ENTITY_ID = {$newEntityID}, PREVIOUS_SRC_ENTITY_ID = {$oldEntityID} 
			WHERE SRC_ENTITY_TYPE_ID = {$entityTypeID} AND SRC_ENTITY_ID = {$oldEntityID}"
		);
		$connection->queryExecute(
			"UPDATE b_crm_recycling_relation 
			SET DST_ENTITY_ID = {$newEntityID}, PREVIOUS_DST_ENTITY_ID = {$oldEntityID}  
			WHERE DST_ENTITY_TYPE_ID = {$entityTypeID} AND DST_ENTITY_ID = {$oldEntityID}"
		);
	}
}