• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/model/price.php
  • Класс: BitrixCatalogModelPrice
  • Вызов: Price::checkQuantityRange
static function checkQuantityRange(ORMDataResult $result, array &$fields)
{
	if ($fields['QUANTITY_FROM'] !== null)
	{
		$fields['QUANTITY_FROM'] = (int)$fields['QUANTITY_FROM'];
		if ($fields['QUANTITY_FROM'] <= 0)
			$result->addError(new ORMEntityError(
				Loc::getMessage('BX_CATALOG_MODEL_PRICE_ERR_WRONG_QUANTITY_FROM')
			));
	}
	if ($fields['QUANTITY_TO'] != null)
	{
		$fields['QUANTITY_TO'] = (int)$fields['QUANTITY_TO'];
		if ($fields['QUANTITY_TO'] <= 0)
			$result->addError(new ORMEntityError(
				Loc::getMessage('BX_CATALOG_MODEL_PRICE_ERR_WRONG_QUANTITY_TO')
			));
	}
	if ($fields['QUANTITY_FROM'] !== null && $fields['QUANTITY_TO'] != null)
	{
		if ($fields['QUANTITY_FROM'] == 0 && $fields['QUANTITY_TO'] == 0)
		{
			$result->addError(new ORMEntityError(
				Loc::getMessage('BX_CATALOG_MODEL_PRICE_ERR_WRONG_QUANTITY_RANGE_ZERO')
			));
		}
		elseif ($fields['QUANTITY_FROM'] > $fields['QUANTITY_TO'])
		{
			$result->addError(new ORMEntityError(
				Loc::getMessage(
					'BX_CATALOG_MODEL_PRICE_ERR_WRONG_QUANTITY_RANGE_INVERT',
					['#LEFT#' => $fields['QUANTITY_FROM'], '#RIGHT#' => $fields['QUANTITY_TO']]
				)
			));
		}
	}
}