我正在尝试创建发票中的按钮,将更新Invoice行中的某些字段。我已经发现了如何在account.invoice中更新字段,但我正在努力寻找在account.invoice.line中如何更新它的正确方法。
class accountinvoiceext(models.Model):
_inherit = ['account.invoice']
@api.one
def my_button(self,uid):
invoice_id = self.id
#lines = getinvoicelinesbyid(invoice_id)我相信有一些适当的方法可以让invoice.lines与这张发票相关,或者不是?我已经尝试过_inherit account.invoice.line,但是我不能在那里定义按钮。
第二个问题-每次创建发票时调用某个函数的最佳方式是什么?
发布于 2018-08-09 23:36:29
如果要添加更改行的按钮。您需要循环发票中的one2many字段,并将@api.one更改为@api.multi,例如:
@api.multi
def my_button(self):
for line in self.invoice_line:
line.write({'your_field': 'your_values'})如果您希望在每次创建发票时都调用此函数,则需要修改create函数:
@api.multi
def create_project(self,values):
res = super(SaleOrder, self).create(values)
res.my_button()
return reshttps://stackoverflow.com/questions/51730106
复制相似问题