功能字段在OpenERP中不起作用 [英] Function field is not working in OpenERP

查看:58
本文介绍了功能字段在OpenERP中不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

purchase.order.line中,我添加了新字段pln price,并将单价字段更改为功能:

In purchase.order.line I added new field pln price and changed unit price field to function:

'price_unit': fields.function(_amount_pln, string='Unit Price', required=True, digits_compute= dp.get_precision('Product Price')),
'plnprice': fields.float('PLN Price', digits_compute= dp.get_precision('PLN Price')),

这是功能:

def _amount_pln(self, cr, uid, ids, prop, arg, context=None):
    res = {}
    for line in self.browse(cr, uid, ids, context=context):
        res[line.id] = line.plnprice * 0.25
    return res

现在,

交换值已进行硬编码,如_amount_pln函数中所示0.25

exchange value now is hardcoded, 0.25 as you see in _amount_pln function

然后我在purchase.order类中添加了新字段:

Then I added new field in purchase.order class:

'exchange_value': fields.float('Exchange',readonly=False)

但是我不知道如何将该字段值添加到我的_amount_pln函数中. 您能帮我解决这个问题吗?

But how get this field value to my _amount_pln function I don't know. can you please help me how to resolve this problem?

推荐答案

"purchase.order"和"purchase.order.line"之间的关系是"order_id". "purchase.order.line"包含"order_id".您可以使用此"order_id"获取"purchase.order"的值.

Relation between "purchase.order" and "purchase.order.line" is "order_id". "purchase.order.line" contains "order_id". You can get values of "purchase.order" using this "order_id".

for purchase_line in self.browse(cr, uid, ids, context=context):
    res[line.id] = purchase_line.plnprice * purchase_line.order_id.exchange_value

这篇关于功能字段在OpenERP中不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆