• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/internals/discountgroup.php
  • Класс: BitrixSaleInternalsDiscountGroupTable
  • Вызов: DiscountGroupTable::updateByDiscount
static function updateByDiscount($discount, $groupList, $active, $clear)
{
	$discount = (int)$discount;
	if ($discount <= 0)
		return false;
	$clear = ($clear === true);
	if ($clear)
	{
		self::deleteByDiscount($discount);
	}
	if (is_array($groupList))
	{
		$active = (string)$active;
		if ($active != 'Y' && $active != 'N')
		{
			$discountIterator = self::getList(array(
				'select' => array('ACTIVE'),
				'filter' => array('=ID' => $discount)
			));
			if ($discountActive = $discountIterator->fetch())
			{
				$active = $discountActive['ACTIVE'];
			}
			unset($discountActive, $discountIterator);
		}
		if ($active == 'Y' || $active == 'N')
		{
			if (empty($groupList))
				$groupList[] = -1;

			foreach ($groupList as &$group)
			{
				$fields = array(
					'DISCOUNT_ID' => $discount,
					'ACTIVE' => $active,
					'GROUP_ID' => $group
				);
				$result = self::add($fields);
			}
			unset($group);
		}
	}
	return true;
}