#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», но все еще не работает