$res = CCatalogDiscount::Update($ID, $arFields);
if (!$res) {
$ex = $APPLICATION->GetException();
$ex->GetString();
}
<?
$discountIds = [];
$discountIterator = Bitrix\Sale\Internals\DiscountTable::getList([
'select' => ["ID", "ACTIVE_FROM", "ACTIVE_TO", "CONDITIONS_LIST", "ACTIONS_LIST"],
'filter' => ['ACTIVE' => 'Y', "USE_COUPONS"=>"N", "DISCOUNT_TYPE"=>"P", [
"LOGIC" => "OR",
[
"<=ACTIVE_FROM"=>$DB->FormatDate(date("Y-m-d H:i:s"),"YYYY-MM-DD HH:MI:SS",\CSite::GetDateFormat("FULL")),
">=ACTIVE_TO"=>$DB->FormatDate(date("Y-m-d H:i:s"),"YYYY-MM-DD HH:MI:SS",\CSite::GetDateFormat("FULL"))
],
[
"=ACTIVE_FROM"=>false,
">=ACTIVE_TO"=>$DB->FormatDate(date("Y-m-d H:i:s"),"YYYY-MM-DD HH:MI:SS",\CSite::GetDateFormat("FULL"))
],
[
"<=ACTIVE_FROM"=>$DB->FormatDate(date("Y-m-d H:i:s"),"YYYY-MM-DD HH:MI:SS",\CSite::GetDateFormat("FULL")),
"=ACTIVE_TO"=>false
],
[
"=ACTIVE_FROM"=>false,
"=ACTIVE_TO"=>false
],
]],
]);
while ($discount = $discountIterator->fetch()) {
$discountIds = $discount;
}
?>
Сейчас адекватного способа для получения ВСЕХ товаров со скидкой нет.
Скидка на товар рассчитывается индивидуально для каждого товара.
- если речь про фриланс то это один момент, если в офис тогда готовиться под требования нжнйо вакансии