CCrmEvent::Rebind

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. CCrmEvent
  4. Rebind
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_event.php
  • Класс: \CCrmEvent
  • Вызов: CCrmEvent::Rebind
public function Rebind($entityTypeID, $srcEntityID, $dstEntityID)
{
	$entityTypeName = CCrmOwnerType::ResolveName($entityTypeID);
	$srcEntityID = (int)$srcEntityID;
	$dstEntityID = (int)$dstEntityID;

	$sql = "SELECT R.EVENT_ID FROM b_crm_event_relations R
	INNER JOIN b_crm_event E ON R.EVENT_ID = E.ID
		AND R.ENTITY_TYPE = '{$entityTypeName}'
		AND R.ENTITY_ID = {$srcEntityID}
		AND E.EVENT_TYPE IN (0, 2)";

	global $DB;
	$err_mess = (self::err_mess()).'
Function: Rebind
Line: '; $dbResult = $DB->Query($sql, false, $err_mess.__LINE__); if(!is_object($dbResult)) { return; } $IDs = array(); while($fields = $dbResult->Fetch()) { if(isset($fields['EVENT_ID'])) { $IDs[] = (int)$fields['EVENT_ID']; } } if(!empty($IDs)) { $sql = 'UPDATE b_crm_event_relations SET ENTITY_ID = '.$dstEntityID.' WHERE EVENT_ID IN('.implode(',', $IDs).')'; $DB->Query($sql, false, $err_mess.__LINE__); } }

Добавить комментарий