• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/internals/discountmodule.php
  • Класс: BitrixSaleInternalsDiscountModuleTable
  • Вызов: DiscountModuleTable::getByDiscount
static function getByDiscount($discountList, $filter = array())
{
	$result = array();
	if (!empty($discountList) && is_array($discountList))
	{
		MainTypeCollection::normalizeArrayValuesByInt($discountList);
		if (!empty($discountList))
		{
			if (!is_array($filter))
				$filter = array();

			$discountRows = array_chunk($discountList, 500);
			foreach ($discountRows as &$row)
			{
				$filter['@DISCOUNT_ID'] = $row;

				$moduleIterator = self::getList(array(
					'select' => array('DISCOUNT_ID', 'MODULE_ID'),
					'filter' => $filter
				));
				while ($module = $moduleIterator->fetch())
				{
					$module['DISCOUNT_ID'] = (int)$module['DISCOUNT_ID'];
					if (!isset($result[$module['DISCOUNT_ID']]))
						$result[$module['DISCOUNT_ID']] = array();
					$result[$module['DISCOUNT_ID']][] = $module['MODULE_ID'];
				}
				unset($module, $moduleIterator);
			}
			unset($row, $discountRows);
		}
	}
	return $result;
}