• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/binding/leadcontact.php
  • Класс: Bitrix\Crm\Binding\LeadContactTable
  • Вызов: LeadContactTable::unbindContactIDs
static function unbindContactIDs($leadID, array $contactIDs)
{
	$leadID = (int)$leadID;
	if($leadID <= 0)
	{
		throw new Main\ArgumentException('Must be greater than zero', 'leadID');
	}

	$contactIDs = array_filter(array_map('intval', $contactIDs));
	if(empty($contactIDs))
	{
		return;
	}

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

	$values = implode(',', $contactIDs);
	$connection->queryExecute(
	/** @lang text */
		"DELETE FROM b_crm_lead_contact WHERE LEAD_ID = {$leadID} AND CONTACT_ID IN({$values})"
	);

	$connection->queryExecute(
	/** @lang text*/
		"UPDATE b_crm_lead SET CONTACT_ID =
		(SELECT MIN(CONTACT_ID) FROM b_crm_lead_contact WHERE IS_PRIMARY = 'Y' AND LEAD_ID = {$leadID})
		WHERE ID = {$leadID}"
	);
}