Импортирую заказы с другого сайта - дело не самое благодарное, так как товаров нет в магазине некоторых уже. Что касается добавления самого заказа:
CModule::IncludeModule('iblock');
CModule::IncludeModule('sale');
$arFields = array(
"LID" => "s1",
"PERSON_TYPE_ID" => 1,
"PAYED" => "N",
"CANCELED" => "N",
"STATUS_ID" => "N",
"PRICE" => 800.00,
"CURRENCY" => "RUB",
"USER_ID" => 1,
"PAY_SYSTEM_ID" => 1,
"PRICE_DELIVERY" => 500.00,
"USER_DESCRIPTION" => "Пробный заказ"
)
$ORDER_ID = CSaleOrder::Add($arFields);
Такая штука добавляет доставку. Но как только добавляю к данному заказу товар:
$arFields = array(
"PRODUCT_ID" => 1,
"PRICE" => 300.00,
"CURRENCY" => "RUB",
"QUANTITY" => 1,
"ORDER_ID" => $ORDER_ID,
"LID" => "s1",
"NAME" => "Чемодан кожаный",
);
CSaleBasket::Add($arFields);
Исчезает стоимость доставки и сумма всего заказа, остается лишь стоимость товаров.
Решил все это обновить функцией Update:
$arFields = array(
"PAYED" => "N",
"CANCELED" => "N",
"STATUS_ID" => "N",
"PRICE" => 800.00,
"CURRENCY" => "RUB",
"USER_ID" => 1,
"PAY_SYSTEM_ID" => 1,
"DELIVERY_ID" => 1,
"PRICE_DELIVERY" => 500.00,
);
$ORDER_ID = CSaleOrder::Update($ORDER_ID, $arFields);
Сумма общая добавляется, а вот суммы доставки так и нет. В чем может быть дело?