2012-05-21 52 views
1

我通過Magmi將Magento的ERP軟件同步化。以未決訂單導入magmi時出現錯誤的產品庫存

請考慮以下事項:產品的所有可用單位都處於掛單狀態,因此產品在商店中不可用。如果在訂單處於待處理狀態時完成Magmi產品導入,則產品的庫存將返回原始數量,並返回商店。 這意味着在訂單完成後,從ERP軟件導入另一個庫存時,庫存將不正確。

我錯過了什麼嗎?如果沒有,在導入時設置正確的產品可用性有多容易?

我想這僅僅是將待處理訂單中的產品數量減去所導入的數量的問題。當然,最糟糕的情況可能是ERP軟件中的產品已經缺貨,因此最終會出現負面的庫存....更重要的是,客戶不滿意。

我可能會通過更頻繁地同步來最小化結束負面股票的風險,但我仍然依賴於網站訂單滿足的速度。

想法?

回答

1

你想確保你的(股票)數據有一個真實的資源。由於股票更新是從ERP到Magento的,我們可以說ERP是最主要的資源。在這種情況下,您可以考慮在訂單設置爲掛起時使用對ERP的實時更新(在sales_order_save_after上使用觀察者)。

通過這種方式,您將有以下情況:

  1. 產品庫存已導入的Magento。
  2. 訂單處於待處理狀態。
  3. 實時更新完成,ERP接收更新的庫存(減量)。
  4. 現在你有兩種情況:
    1. 訂單被取消,ERP收到更新的股票(增量)。
    2. 訂單成功,無需更新ERP。

這樣,ERP總是知道的Magento是如何看待你的股票,當你收到對Magento的一個「完整的」庫存狀態更新將不會有任何問題。

+0

聽起來不錯,(雖然我想避免更改ERP數據庫)。你能解釋觀察者的用法嗎?它會像觸發器一樣嗎? – Mike

+1

@Mike:除非你調整股票更新並且禁用Magento的股票遞減行爲,否則沒有其他辦法,但是這會給你留下空隙。 –

+1

@Mike:保存訂單(實際上是大多數實體)時調度事件。您可以使用它們來實時執行某些操作,而不是基於時間間隔。有很多描述magento中的事件/觀察者的資源:) –