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

	$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_quote_contact WHERE QUOTE_ID = {$quoteID} AND CONTACT_ID IN({$values})"
	);

	$connection->queryExecute(
		/** @lang text*/
		"UPDATE b_crm_quote SET CONTACT_ID =
		(SELECT MIN(CONTACT_ID) FROM b_crm_quote_contact WHERE IS_PRIMARY = 'Y' AND QUOTE_ID = {$quoteID})
		WHERE ID = {$quoteID}"
	);
}