Openerp 如何使用onchange函数更改帐户发票行价格单位的价格

Openerp 如何使用onchange函数更改帐户发票行价格单位的价格,openerp,Openerp,我想使用onchange将帐户发票价格设置为res.partner中设置的默认价格。有人能给我举个例子吗 谢谢, Joe插件中有很多onchange的例子。 例如,如果要更改“名称”字段的值,并根据所选产品设置产品名称: def onchange_product_id(self, cr, uid, ids, product_id, context=None): if product_id: prod = self.pool.get('product.product').b

我想使用onchange将帐户发票价格设置为res.partner中设置的默认价格。有人能给我举个例子吗

谢谢,
Joe

插件中有很多onchange的例子。
例如,如果要更改“名称”字段的值,并根据所选产品设置产品名称:

def onchange_product_id(self, cr, uid, ids, product_id, context=None):
    if product_id:
        prod = self.pool.get('product.product').browse(cr, uid, product_id, context=context)
        return {'value': {'name': prod.name}}
    return {}

在您的\u invoice\u view.xml中写入以下内容:

<field name="product_id" on_change="product_id_change(product_id, parent.partner_id, context)"/>

谢谢,我已经看了这些例子好几天了,但仍然很困惑。请举例说明account.invoice.line从res.partner设置获取信息的位置?非常感谢。你能告诉我你想从res.partner那里获取什么样的信息(数据)吗?我想在res.partner上有一个产品,它的价格单位是根据利息计算的。这意味着价格单位会根据产品中增加的利息而变化。因此,当我在账户发票行中选择产品时,它会自动设置价格。“产品”和res.partner之间有关联吗?类res\u partner(osv.osv):\u inherit=“res.partner”\u columns={“interest”:fields.manyOne('product.product','interest'),'delay':fields.integer('Days of delay',help='设置开具发票前的天数'),'percent':fields.float('percent',digits_compute=dp.get_precision('Account'),help='设置延迟发票的百分比'),}res_partner()通过访问产品和合作伙伴的记录,您可以在我提交的代码中的这一次更改中编写计算。希望您的问题能由此得到解决。非常感谢,我现在就尝试一下。我得到以下错误:返回{'value':{'price\u unit':partner\brw.(price\u unit)}^SyntaxError:无效的Syntax尝试在选择合作伙伴时添加产品,但未添加任何产品。在本例中,我使用了您的示例,添加了一个字段而不是计算值。知道为什么不添加产品吗?我也尝试添加固定金额,但没有任何效果。例如,fixed amcount是:columns{'rate':fields.float('Minimum amount',digits\u compute=dp.get\u precision('Account')),你好,Arya,你提供给我的代码没有真正起作用。你知道为什么吗?
def onchange_product_id_change(self, cr, uid, ids, product_id, partner_id context=None):
if product_id and partner_id:
    product_brw = self.pool.get('product.product').browse(cr, uid, product_id, context=context)
    partner_brw = self.pool.get('res.partner').browse(cr, uid, partner_id, context=context)
    /*write your logic */
    return {'value': {'price_unit': your calculated value}}
return {}