• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/archive/process/orderarchivecollection.php
  • Класс: BitrixSaleArchiveProcessOrderArchiveCollection
  • Вызов: OrderArchiveCollection::collectCoupons
private function collectCoupons($orderIds)
{
	$couponList = [];

	$couponsIterator = InternalsOrderCouponsTable::getList(array(
		'select' => array(
			'*',
			'MODULE_ID' => 'ORDER_DISCOUNT.MODULE_ID',
			'DISCOUNT_ID' => 'ORDER_DISCOUNT.DISCOUNT_ID',
			'DISCOUNT_NAME' => 'ORDER_DISCOUNT.NAME',
			'DISCOUNT_DESCR' => 'ORDER_DISCOUNT.ACTIONS_DESCR',
		),
		'filter' => array('=ORDER_ID' => $orderIds),
		'order' => array('ID' => 'ASC')
	));

	while ($coupon = $couponsIterator->fetch())
	{
		foreach ($coupon['DISCOUNT_DESCR'] as $discountDescriptionArray)
		{
			foreach ($discountDescriptionArray as $descriptionList)
			{
				if (is_array($descriptionList))
				{
					$coupon['DISCOUNT_SIZE'] = SaleDiscountFormatter::formatRow($descriptionList);
				}
			}
		}

		$couponList[$coupon['ORDER_ID']][$coupon['COUPON']] = $coupon;
	}

	return $couponList;
}