• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/delivery/rest/deliveryservice.php
  • Класс: BitrixSaleDeliveryRestDeliveryService
  • Вызов: DeliveryService::updateDelivery
static function updateDelivery($query, $n, CRestServer $server): bool
{
	self::checkDeliveryPermission();
	$params = self::prepareDeliveryParams($query, $server);
	self::checkParamsBeforeDeliveryUpdate($params);

	$fields = [];
	if (isset($params['NAME']))
	{
		$fields['NAME'] = $params['NAME'];
	}

	if (isset($params['ACTIVE']))
	{
		$fields['ACTIVE'] = $params['ACTIVE'];
	}

	if (isset($params['DESCRIPTION']))
	{
		$fields['DESCRIPTION'] = $params['DESCRIPTION'];
	}

	if (isset($params['SORT']))
	{
		$fields['SORT'] = $params['SORT'];
	}

	if (isset($params['CURRENCY']))
	{
		$fields['CURRENCY'] = $params['CURRENCY'];
	}

	if (isset($params['LOGOTIP']))
	{
		$fields['LOGOTIP'] = self::saveFile($params['LOGOTIP']);
	}

	$result = DeliveryServicesManager::update($params['ID'], $fields);
	if ($result->isSuccess())
	{
		return true;
	}

	$error = implode("n", $result->getErrorMessages());
	throw new RestException($error, self::ERROR_DELIVERY_UPDATE);
}