- Модуль: 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);
}