CCrmLeadRestProxy::setProductRows

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. CCrmLeadRestProxy
  4. setProductRows
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/classes/general/restservice.php
  • Класс: \CCrmLeadRestProxy
  • Вызов: CCrmLeadRestProxy::setProductRows
public function setProductRows($ID, $rows)
{
	global $APPLICATION;

	$ID = intval($ID);
	if($ID <= 0)
	{
		throw new RestException('The parameter id is invalid or not defined.');
	}

	if(!is_array($rows))
	{
		throw new RestException('The parameter rows must be array.');
	}

	if(!CCrmLead::CheckUpdatePermission($ID))
	{
		throw new RestException('Access denied.');
	}

	if(!CCrmLead::Exists($ID))
	{
		throw new RestException('Not found.');
	}

	$proxy = new CCrmProductRowRestProxy();

	$rows = array_values($rows);
	$actualRows = array();
	for($i = 0, $qty = count($rows); $i < $qty; $i++)
	{
		$row = $rows[$i];
		if(!is_array($row))
		{
			continue;
		}

		$proxy->prepareForSave($row);
		if(isset($row['OWNER_TYPE']))
		{
			unset($row['OWNER_TYPE']);
		}

		if(isset($row['OWNER_ID']))
		{
			unset($row['OWNER_ID']);
		}

		$actualRows[] = $row;
	}

	$result = CCrmLead::SaveProductRows($ID, $actualRows, true, true, true);
	if(!$result)
	{
		$exp = $APPLICATION->GetException();
		if($exp)
		{
			throw new RestException($exp->GetString());
		}
	}
	return $result;
}

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