• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/cashbox/rest/cashboxservice.php
  • Класс: BitrixSaleCashboxRestCashboxService
  • Вызов: CashboxService::checkParamsBeforeCashboxListGet
static function checkParamsBeforeCashboxListGet(array $params)
{
	$select = isset($params['SELECT']) && is_array($params['SELECT']) ? $params['SELECT'] : [];
	if ($select)
	{
		$select = array_flip(self::prepareIncomingParams(array_flip($select)));
		$diffSelect = array_diff($select, self::ALLOWED_CASHBOX_FIELDS);

		if ($diffSelect)
		{
			throw new RestException(implode(', ', $diffSelect) . ' not allowed for select');
		}
	}

	$filter = isset($params['FILTER']) && is_array($params['FILTER']) ? $params['FILTER'] : [];
	if ($filter)
	{
		$filterFields = [];
		foreach ($filter as $rawName => $value)
		{
			$filterField = CSqlUtil::GetFilterOperation($rawName);
			if (isset($filterField['FIELD']))
			{
				$filterFields[] = $filterField['FIELD'];
			}
		}

		$filterFields = array_flip(self::prepareIncomingParams(array_flip($filterFields)));
		$diffFilter = array_diff($filterFields, self::ALLOWED_CASHBOX_FIELDS);
		if ($diffFilter)
		{
			throw new RestException(implode(', ', $diffFilter) . ' not allowed for filter');
		}
	}

	$order =
		isset($params['ORDER']) && is_array($params['ORDER'])
			? self::prepareIncomingParams($params['ORDER'])
			: []
	;
	if ($order)
	{
		$diffOrder = array_diff(array_keys($order), self::ALLOWED_CASHBOX_FIELDS);
		if ($diffOrder)
		{
			throw new RestException(implode(', ', $diffOrder) . ' not allowed for order');
		}
	}
}