2012-07-18 118 views
5

我有一個模塊,從另一個網站獲取訂閱源,然後將訂單導入到magento。問題是,儘管訂單在Magento中正確創建,並且沒有顯示在「產品已訂購」報告中。Magento訂單創建sales_flat_quote_item沒有生成

原因似乎是,此報告查看sales_flat_quote_item表以生成其結果,但沒有我的銷售物品的條目。但是,它們在sales_flat _order_item中正確顯示。

下面是代碼的縮寫版本。

任何建議,爲什麼我沒有得到在flat_quote_item條目?

爲什麼訂購產品報告使用的Magento模型使用報價表而不是訂單表?

$quote = Mage::getModel('sales/quote')->setStoreId((string) $dataArray->StoreviewId); 

if (is_object($product)) { 

       $product->setPrice(((string) $orderitem->Price)/$reverseRate); 

       $item = Mage::getModel('sales/quote_item'); 
       $item->setQuote($quote)->setProduct($product); 
       $item->setData('qty', (string) $orderitem->Quantity); 
       $item->setCustomPrice((string) $orderitem->Price); 
       $item->setOriginalCustomPrice((string) $orderitem->Price); 

       $quote->addItem($item); 
      } 

回答

2

爲什麼訂購產品報告使用的Magento模型使用報價表而不是訂單表?

因爲您可以下訂單,該訂單未付款或被取消,因此產品未交付。您仍然在系統中訂購,它只是沒有執行。 我的猜測是,特定的報告應該只包含成功的訂單,產品已發貨或至少發送了報價。

任何建議,爲什麼我沒有得到在flat_quote_item條目?

您需要生成報價,這不會在保存訂單時自動完成。

請參閱以下論壇主題以獲取有關如何生成報價的提示:http://www.magentocommerce.com/boards/viewthread/28426/P30/

3

這段代碼並不顯示到$item->save$quote->save任何電話,所以它可能是你沒有保存quote對象。

相關問題