在account.move中的invoice_line_ids上添加新字段odoo 13

问题描述

我在account.move的invoice_line_ids字段中添加新字段时遇到问题 实际上,已经添加了该字段,但是每当我创建新发票或编辑发票时,它都不会保存该值。

我尝试过了,但是还是不能保存! https://github.com/odoo/odoo/issues/40915#issuecomment-574624912

这是我的代码

class account_move_line(models.Model):
    _inherit = "account.move.line"
    
    detail_ids = fields.One2many(string="Details",comodel_name="account.move.line.detail",inverse_name="line_id")
    
class account_move_line_detail(models.Model):
    _name = "account.move.line.detail"
    
    line_id = fields.Many2one(string="Line",comodel_name="account.move.line",ondelete="cascade")
    value = fields.Char(string="Value")

<record id='account_view_move_form' model='ir.ui.view'>
    <field name='name'>account.view.move.form</field>
    <field name='model'>account.move</field>
    <field name='inherit_id' ref='account.view_move_form' />
    <field name='arch' type='xml'>
        <xpath expr="//field[@name='invoice_line_ids']/form//field[@name='name']" position="after">
            <field name="detail_ids">
                <tree editable="bottom">
                    <field name="value"/>
                </tree>
            </field>
        </xpath>
        
        <xpath expr="//field[@name='line_ids']/form/group" position="inside">
            <field name="detail_ids" invisible="1"/>
        </xpath>
    </field>
</record>

提前谢谢!

解决方法

请在'line_ids' o2m 树视图中定义您新添加到帐户移动行的字段。

即继承帐户移动表单视图,并在表单视图内的 line_ids 树视图中将您的新字段定义为不可见

, 例如,像这样在xml的字段属性中使用

force attribute_save =“ 1”属性。 那么您的字段会将数据保存到account.move.line