Добавление нового поля в invoice_line_ids в account.move (odoo 13)

#odoo-13

#python #odoo-13

Вопрос:

Я столкнулся с проблемой при добавлении нового поля в поле invoice_line_ids в account.move На самом деле, поле было добавлено, но оно не сохраняет значение всякий раз, когда я создаю новый счет или редактирую счет.

Я пробовал это, но он все еще не сохраняется!! 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>
  

заранее спасибо!!!

Комментарии:

1. Было бы лучше, если бы вы показали код для обновления или создания, а также определение поля.

2. хорошо, я обновил код, спасибо!!

Ответ №1:

Пожалуйста, определите поле, которое вы недавно добавили в строку перемещения учетной записи в древовидном представлении o2m ‘line_ids’.

То есть наследование представления формы перемещения учетной записи и в древовидном представлении line_ids внутри представления формы, пожалуйста, определите ваше новое поле как невидимое

Комментарии:

1. Привет, Анита, я уже установил вашу рекомендацию, но проблема сохраняется, спасибо за ответ!!!

2. Не могли бы вы, пожалуйста, попытаться указать поле в древовидном представлении также как невидимое

Ответ №2:

используйте атрибут force_save=»1″ в вашем атрибуте поля в xml, например, так. затем ваше поле сохранит данные в account.move.line

Комментарии:

1. привет, Сайед, спасибо за ваш ответ, я понимаю, что параметр force_save = «1» используется для сохранения поля (только для чтения), рассчитанного с использованием @api.onchange, я попытался применить этот параметр в обоих полях «detail_ids» и «value», но все еще не работает