• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/orderdiscountbase.php
  • Класс: BitrixSaleOrderDiscountBase
  • Вызов: OrderDiscountBase::addRoundBlock
static function addRoundBlock($order, array $block)
{
	$result = new Result();

	$order = (int)$order;
	if ($order <= 0)
	{
		$result->addError(new MainError(
			Loc::getMessage('SALE_ORDER_DISCOUNT_ERR_BAD_ORDER_ID'),
			self::ERROR_ID
		));
		return $result;
	}

	if (empty($block))
		return $result;

	foreach ($block as $row)
	{
		$row['ORDER_ID'] = $order;
		$row['ENTITY_TYPE'] = static::getRoundEntityInternal($row['ENTITY_TYPE']);
		$row['ORDER_ROUND'] = 'N';
		if (!isset($row['APPLY_BLOCK_COUNTER']) || $row['APPLY_BLOCK_COUNTER'] < 0)
		{
			$result->addError(new MainEntityEntityError(
				Loc::getMessage('SALE_ORDER_DISCOUNT_ERR_BAD_APPLY_BLOCK_COUNTER')
			));
			return $result;
		}
		$resultInternal = static::addRoundResultInternal($row);
		if (!$resultInternal->isSuccess())
			$result->addErrors($resultInternal->getErrors());
	}
	unset($resultInternal, $row);

	return $result;
}