• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/orderdiscountbase.php
  • Класс: BitrixSaleOrderDiscountBase
  • Вызов: OrderDiscountBase::fillAbsentDiscountFields
static function fillAbsentDiscountFields(array $fields)
{
	if (empty($fields) || empty($fields['ID']))
		return null;

	$discountId = (int)$fields['ID'];
	if ($discountId <= 0)
		return null;

	$requiredFields = static::checkRequiredOrderDiscountFields($fields);
	if (!empty($requiredFields))
	{
		if (in_array('ACTIONS_DESCR', $requiredFields))
			return null;
		$requiredFields[] = 'ID';
		$iterator = static::getDiscountIterator(array(
			'select' => $requiredFields,
			'filter' => array('=ID' => $discountId)
		));
		$row = $iterator->fetch();
		unset($iterator);
		if (empty($row))
			return null;
		foreach ($row as $field => $value)
		{
			if (isset($fields[$field]))
				continue;
			$fields[$field] = $value;
		}
		unset($field, $value);
	}
	unset($requiredFields);

	return $fields;
}