Добрый день. Я написал следующий код. Заказ создается, но в заказах, где поле "Покупатель"- нет информации. Как это сделать. Буду рад любой помощи!
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$_POST['radio']=1;
$basket = CSaleBasket::GetList(
array("NAME"=>"ASC", "ID"=>"ASC"),
array("FUSER_ID" => CSaleBasket::GetBasketUserID(),"LID" => SITE_ID, "ORDER_ID" => "NULL"),
false,
false,
array()
);
//Дальше пишем каждый товар из корзины в массив products
while($elem = $basket->getNext()){
$products[] = array(
'PRODUCT_ID' => $elem['ID'],
'NAME' => $elem['NAME'],
'PRICE' => $elem['PRICE'],
'CURRENCY' => 'RUB',
'QUANTITY' => $elem['QUANTITY']
);
}
$basket = Bitrix\Sale\Basket::create(1);
foreach ($products as $product){
$item = $basket->createItem("catalog", $product["PRODUCT_ID"]);
unset($product["PRODUCT_ID"]);
$item->setFields($product);
}
$order = Bitrix\Sale\Order::create(1, CSaleBasket::GetBasketUserID());
$order->setPersonTypeId(1);
$order->setBasket($basket);
$shipmentCollection = $order->getShipmentCollection();
$shipment = $shipmentCollection->createItem(
Bitrix\Sale\Delivery\Services\Manager::getObjectById($_POST['radio'])
);
$shipmentItemCollection = $shipment->getShipmentItemCollection();
foreach($basket as $basketItem){
$item = $shipmentItemCollection->createItem($basketItem);
$item->setQuantity($basketItem->getQuantity());
}
//Пользовательские поля из POST-запроса
$propertyCollection = $order->getPropertyCollection();
foreach($propertyCollection as $propertyItem){
print_r($propertyItem->getField("NAME"));
}
$paymentCollection = $order->getPaymentCollection();
$payment = $paymentCollection->createItem(
Bitrix\Sale\PaySystem\Manager::getObjectById(1)
);
$payment->setField("SUM", $order->getPrice());
$payment->setField("CURRENCY", $order->getCurrency());
$result = $order->save();
if(!$result->isSuccess()){
$result->getErrors();
}
CSaleBasket::DeleteAll(CSaleBasket::GetBasketUserID(), False);
?>