Версия Битрикс «Управление сайтом 20.5.475.».
Создал скидку 22%. Данную скидку нужно применить к некоторому кол-ву товаров, делаю это следующим способом:
Пример массива $arDiscountFields брал из раздела сохранения скидки.
В результате в массиве $errorCollection ошибка: «Неверные условия применения»
Вопрос: как добавить к имеющейся скидки массив товаров?
Создал скидку 22%. Данную скидку нужно применить к некоторому кол-ву товаров, делаю это следующим способом:
Код |
---|
$arItemIds = [1,3,10,15,25]; $DISCOUNT_VALUE = 20; $arDiscountFields = [ "LID" => SITE_ID, "NAME"=> "Скидка ".$DISCOUNT_VALUE."%", "CURRENCY" => "RUB", "ACTIVE_FROM" => "", "ACTIVE_TO" => "", "ACTIVE" => "Y", "SORT" => 100, "PRIORITY" => 1, "LAST_DISCOUNT" => "Y", "LAST_LEVEL_DISCOUNT" => "N", "XML_ID" => "", "USER_GROUPS" => [2], "CONDITIONS" => [ 'CLASS_ID' => 'CondGroup', 'DATA' => [ 'All' => 'AND', 'True' => 'True', ], 'CHILDREN' => [ [ "CLASS_ID" => "CondBsktProductGroup", "DATA" => [ "Found" => "Found", "All" => "OR", ], "CHILDREN" => [ [ "CLASS_ID" => "CondIBElement", "DATA" => [ "logic" => "Equal", "value" => $arItemIds, ] ] ] ], ], ], 'ACTIONS' => [ "CLASS_ID" => "CondGroup", "DATA" => [ "All" => "AND" ], "CHILDREN" => [ [ "CLASS_ID" => "ActSaleBsktGrp", "DATA" => [ "Type" => "Discount", "Value" => $DISCOUNT_VALUE, "Unit" => "Perc", "Max" => 0, "All" => "OR", "True" => "True", ], "CHILDREN" => [ [ "CLASS_ID" => "ActSaleSubGrp", "DATA" => [ "All" => "AND", "True" => "True", ], "CHILDREN" => [ [ "CLASS_ID" => "CondIBElement", "DATA" => [ "logic" => "Equal", "value" => $arItemIds, ] ] ] ] ] ] ] ] ]; if(!\CSaleDiscount::update($arDiscount[$DISCOUNT_VALUE], $arDiscountFields)) { global $APPLICATION; if($ex = $APPLICATION->getException()) { $errorCollection[] = new Error($ex->getString()); } } |
В результате в массиве $errorCollection ошибка: «Неверные условия применения»
Вопрос: как добавить к имеющейся скидки массив товаров?