上海序說科技,專注于基于Odoo專案實施,實作企業數智化,助力企業成長,
老韓頭的開發日常,博客園分享(2022年前博文)
背景
客戶在對接第三方的電商平臺的時候,存在Odoo系統中配置的屬性與第三方電商平臺配置的產品屬性不一致的情況,比如,我們在Odoo中某產品有4個屬性,而電商平臺只有其中的三個屬性,
因此在該平臺銷售出去產品的時候,我們是沒有辦法直接匹配到目標產品的(除非單獨建一個三個屬性的產品),
需求
希望在電商平臺銷售出去這類產品的時候,可以按照一定的規則匹配到其中的任意一臺,這里的規則可以是庫存最少的、距離客戶位置距離最新的等等,
實作
為產品添加一個“共享庫存產品”的欄位,并為這類產品配置需要共享的產品物件,這里的欄位是many2many型別,原因有二,①可避免在核心物件(product.product)新增欄位;②可能存在多個產品相互共享的情況,
此處需要強調的是,在獲取目標產品的時候,需判斷當前庫位是否可滿足本次銷售的數量要求,
if o_product.shared_product_ids:
product_ids = o_product.shared_product_ids.ids
product_ids.append(o_product.id)
prodcut_stock_quants = STOCK_QUANT.search([('product_id','in',product_ids),('location_id','=',location_src_id.id)]).filtered(lambda quant:quant.quantity - quant.reserved_quantity>=demand_count)
if prodcut_stock_quants:
prodcut_stock_quants = sorted(prodcut_stock_quants, key=lambda quant: quant.quantity - quant.reserved_quantity)
o_product = prodcut_stock_quants[0].product_id
return o_product
本文來自博客園,作者:老韓頭的開發日常,轉載請注明原文鏈接:https://www.cnblogs.com/xushuotec/p/16831904.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/521859.html
標籤:其他
