在purchase.order.line
我添加了新字段pln price
并将单位价格字段更改为功能:
'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
现在,兑换价值是硬编码的0.25
,正如您在_amount_pln
函数中看到的那样
然后我在purchase.order
类中添加了新字段:
'exchange_value': fields.float('Exchange',readonly=False)
但是如何将此字段值赋予我的_amount_pln
函数我不知道。
你能帮我解决一下这个问题吗?
答案 0 :(得分:0)
有时功能字段需要参数:store=True
尝试将此参数添加到您的功能字段,看看它是否有效。
答案 1 :(得分:0)
尝试以下,
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 * line.order_id.exchange_value
return res
order_id是采购订单行中与采购订单相关的多个字段,因此您可以轻松访问采购订单行中采购订单的值。
答案 2 :(得分:0)
" purchase.order"之间的关系和" purchase.order.line"是" order_id"。 " purchase.order.line"包含" order_id"。您可以获得" purchase.order"的价值。使用此" 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