Odoo 获取给定客户的产品价格的方法

Odoo 获取给定客户的产品价格的方法,odoo,xml-rpc,odoo-10,Odoo,Xml Rpc,Odoo 10,我需要通过XMLRPC检索产品价格 我使用的是产品价目表,因此可以为每个客户指定一个给定的价目表,该价目表根据类别等提供特定折扣 我正在努力寻找哪种方法可以用于检索给定数量的给定产品模板id的价格,如果这实际上是可能的话 到目前为止,我还无法尝试任何特定的方法,因为我无法确定如何在不实际创建销售订单的情况下实现这一点。模块“产品”包含价格表机制。model product.pricelist有一个非常好的方法get_product_price,它可以很容易地在服务器端使用,但不能用于外部/web

我需要通过XMLRPC检索产品价格

我使用的是产品价目表,因此可以为每个客户指定一个给定的价目表,该价目表根据类别等提供特定折扣

我正在努力寻找哪种方法可以用于检索给定数量的给定产品模板id的价格,如果这实际上是可能的话


到目前为止,我还无法尝试任何特定的方法,因为我无法确定如何在不实际创建销售订单的情况下实现这一点。

模块“产品”包含价格表机制。model product.pricelist有一个非常好的方法get_product_price,它可以很容易地在服务器端使用,但不能用于外部/web API

但是,如果您有可能编写一个小的自定义模块,那么就这样做,并覆盖model product.pricelist。添加使用此方法的可能性,如:

无法使用的原始方法,因为参数是记录集:

def get_product_PRICE自身、产品、数量、合作伙伴、日期=False、计量单位id=False: 对于给定的价目表,返回给定产品的价格 自保 返回自我。计算价格规则[产品、数量、合作伙伴],日期=日期,计量单位id=计量单位id[产品.id][0] 外部/web API的包装器:

def网络api获取产品价格 自身、产品标识、数量、合作伙伴标识、日期=假、计量单位标识=假: 对于给定的价目表,返回给定产品的价格 可从web api调用 自保 获取记录 product=self.env['product.product'].browseproduct\u id partner=self.env['res.partner'].browsepartner\u id 调用源方法 返回self.get\u产品\u价格 产品、数量、合作伙伴、日期=日期、计量单位id=计量单位id 现在可以调用此方法,例如:

导入xmlrpclib db='db_name' 密码='admin' common=xmlrpclib.ServerProxy'http://localhost:8069/xmlrpc/2/common' uid=common.authenticatedb,'admin',密码,{} models=xmlrpclib.ServerProxy'http://localhost:8069/xmlrpc/2/object' 价格表\u id=1 产品标识=5 合作伙伴id=7 数量=20 价格=型号。单位:千瓦 db,uid,密码,'product.pricelist', “网络、api、产品、价格”, [[pricelist\u id],产品\u id,数量,合作伙伴\u id],{}
这很有趣,谢谢。我将在未来几天内尝试此解决方案。如果它是全球性的,如何?这将需要我根据产品的数量多次获取所有产品列表和所有获取产品价格的方法。您所说的全局是什么意思?@CZoellner在“创建价格列表”项库中应用于全局,但我不获取它。此方法适用于每个价格表,不依赖于其中价格表项的类型。