• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/discount/gift/relateddata.php
  • Класс: BitrixSaleDiscountGiftRelatedDataTable
  • Вызов: RelatedDataTable::fillByDiscount
static function fillByDiscount(array $discount)
{
	list($elementIds, $sectionIds) = static::getGiftsData($discount);
	list($productElementIds, $productSectionIds) = static::getProductsData($discount);

	//we works only with one section in condition.
	$mainProductSectionId = reset($productSectionIds);
	if(!is_int($mainProductSectionId))
	{
		$mainProductSectionId = null;
	}

	$items = array();
	foreach($elementIds as $elementId)
	{
		$items[] = array(
			'DISCOUNT_ID' => $discount['ID'],
			'ELEMENT_ID' => $elementId,
			'SECTION_ID' => null,
			'MAIN_PRODUCT_SECTION_ID' => $mainProductSectionId,
		);
	}

	foreach($sectionIds as $sectionId)
	{
		$items[] = array(
			'DISCOUNT_ID' => $discount['ID'],
			'ELEMENT_ID' => null,
			'SECTION_ID' => $sectionId,
			'MAIN_PRODUCT_SECTION_ID' => $mainProductSectionId,
		);
	}

	static::insertBatch($items);
}