首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更新invoice.line数量?

如何更新invoice.line数量?
EN

Stack Overflow用户
提问于 2018-08-07 23:10:50
回答 1查看 153关注 0票数 0

我正在尝试创建发票中的按钮,将更新Invoice行中的某些字段。我已经发现了如何在account.invoice中更新字段,但我正在努力寻找在account.invoice.line中如何更新它的正确方法。

代码语言:javascript
复制
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,但是我不能在那里定义按钮。

第二个问题-每次创建发票时调用某个函数的最佳方式是什么?

EN

回答 1

Stack Overflow用户

发布于 2018-08-09 23:36:29

如果要添加更改行的按钮。您需要循环发票中的one2many字段,并将@api.one更改为@api.multi,例如:

代码语言:javascript
复制
@api.multi
def my_button(self):
    for line in self.invoice_line:
         line.write({'your_field': 'your_values'})

如果您希望在每次创建发票时都调用此函数,则需要修改create函数:

代码语言:javascript
复制
@api.multi
def create_project(self,values):
    res = super(SaleOrder, self).create(values)
    res.my_button()
    return res
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51730106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档