Может кому пригодиться.
$dbBasketItems = CSaleBasket::GetList( array("NAME" => "ASC", "ID" => "ASC"),
array("FUSER_ID" => CSaleBasket::GetBasketUserID(), "ORDER_ID" => "NULL"),
false,
false,
array()
);
while ($arItems = $dbBasketItems->Fetch()) {
$arBasketItems[] = $arItems;
}
$productPriceSumm = 0;
foreach ($arBasketItems as $valBasketItems) {
$productPriceSumm += (int)$valBasketItems["QUANTITY"]*(int)$valBasketItems["PRICE"];
}
// Вычисляем стоимость заказа с правилами корзины
$arErrors = array();
$arWarnings = array();
$arOrderDat = CSaleOrder::DoCalculateOrder(
SITE_ID,
$USER->GetID(),
$arBasketItems,
$arUserResult['PERSON_TYPE_ID'],
$arUserResult["ORDER_PROP"],
$arUserResult["DELIVERY_ID"],
$arUserResult["PAY_SYSTEM_ID"],
array(),
$arErrors,
$arWarnings
);
$arOrderFields = array(
"LID" => SITE_ID,
"PERSON_TYPE_ID" => 1,
"PAYED" => "N",
"CANCELED" => "N",
//"STATUS_ID" => "N",
"PRICE" => $PRICE_ALL,
"CURRENCY" => CCurrency::GetBaseCurrency(),
"USER_ID" => $user_id,
"USER_DESCRIPTION" => "",
"ADDITIONAL_INFO" => "",
);
$ORDER_ID = CSaleOrder::DoSaveOrder($arOrderDat, $arOrderFields,0,$arErrors);