Очень хорошие примеры описаны учебных курсах:
https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=8409&LESSO...
Один из вариантов получения стоимости доставки через API:
А если надо просто получить параметры доставки, то выглядеть будет так:
Один из вариантов получения стоимости доставки через API:
Код |
---|
$deliveryId = "Идентификатор доставки"; $obBasket = \Bitrix\Sale\Basket::create(SITE_ID); $obItem = $obBasket->createItem("catalog", "Сюда подставить ID товара"); $arProductFields = array( 'NAME' => "Сюда подставить название товара", 'PRICE' => "Сюда подставить цену товара", 'CURRENCY' => 'RUB', 'QUANTITY' => 1, 'LID' => \Bitrix\Main\Context::getCurrent()->getSite(), 'PRODUCT_PROVIDER_CLASS' => 'CCatalogProductProvider', ); $obItem->setFields($arProductFields); $obOrder = \Bitrix\Sale\Order::create(SITE_ID, 1); $obOrder->setPersonTypeId(1); $obOrder->setBasket($obBasket); $obShipmentCollection = $obOrder->getShipmentCollection(); $obShipment = $obShipmentCollection->createItem(\Bitrix\Sale\Delivery\Services\Manager::getObjectById($deliveryId)); $shipmentItemCollection = $obShipment->getShipmentItemCollection(); foreach ($basket as $basketItem) { $item = $shipmentItemCollection->createItem($basketItem); $item->setQuantity($basketItem->getQuantity()); } $arDelivery = \Bitrix\Sale\Delivery\Services\Manager::calculateDeliveryPrice($obShipment, $deliveryId, array()); |
А если надо просто получить параметры доставки, то выглядеть будет так:
Код |
---|
$arDeliveryParams = \Bitrix\Sale\Delivery\Services\Manager::getById($deliveryId); |