@countZer0

Пересчет цены при создании нового заказа?

Всем привет !

Подскажите как при создании нового заказа записывать в него кастомную цену.
  • Вопрос задан
  • 265 просмотров
Пригласить эксперта
Ответы на вопрос 2
vechnokrainii
@vechnokrainii
ну почти всегда(
Так ты не складываешь изменение цены со старой.
Тебе тенжно OldPrice прибавть к NewPrice
Ответ написан
@anton99zel Куратор тега 1С-Битрикс
29а класс средней школы №7
//название товара не пишем
Bitrix\Main\Loader::includeModule("catalog");
$fields = [
    'PRODUCT_ID' => $item[offer_id], // ID товара, обязательно
        'QUANTITY' => $item[quantity],
        'CURRENCY' => Bitrix\Currency\CurrencyManager::getBaseCurrency(),
        'LID' => Bitrix\Main\Context::getCurrent()->getSite(),
        'PRICE' => $item[price], //твоя кастомная цена
        'CUSTOM_PRICE' => 'Y',
];
$r = Bitrix\Catalog\Product\Basket::addProduct($fields);
if (!$r->isSuccess()) {
    var_dump($r->getErrorMessages());
}

Для изменения существующего заказа нужно:
$order = \Bitrix\Sale\Order::load(38); //загрузим заказ
.....//добавляем товары или производим другие действия
$order->save(); //сохраняем заказ

В вашем коде я не увидел, что для каждого товара вы устанавливаете новую цену
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы