Ir al contenido
Menú
Se marcó esta pregunta
4 Respuestas
4839 Vistas

I have been able to create a model with a sequence code that successfully generates when I create a record directly from the model's view. However, attempting to do the same from a One2many tree view fails to generate the code which in turn does not allow a user to create the record.


Create function:

    def create(self, vals):
obj = super(Beneficiary,self).create(vals)
if obj.code == _("New"):
number = self.env["ir.sequence"].get('beneficiary') or _("New")
obj.write({'code':number})

return obj

Tree Definition:

<page string="Beneficiaries">
<field name="beneficiary_training" nolabel="1">
<tree string="Beneficiaries">
<field name="code"/>
<field name="id_number"/>
<field name="number"/>
</tree>
</field>
</page>



Avatar
Descartar
Autor

I am using Odoo Version 13

Did you set a default value for code? How? You can do this via the one2many field context attribute. See how we do it for the invoice_line_ids field on an Invoice. We define a default partner_id to populate on each journal item order_id to each line. context="{'default_partner_id': commercial_partner_id}"

Autor

Hey @Ray. Yes, I've used a default in code as shown below:

code = fields.Char(

string="Beneficiary No.",

required=True,

default=lambda self: _("New"),

track_visibility="onchange",

copy=False,

help="ID used for internal beneficiary tracking tracking.")

I'm not looking to use a default code, the goal is that one can create a new record through a one2many tree and the sequence numbers will continue generating in the same order.

Mejor respuesta

The sequence will be created as soon as you click on the Save button of the main record.

I think you are expecting to have the sequence when you add a line in o2m without clicking on the Save button. If yes, you should use the onchange method or set as default (as Ray said) to set the sequence.

Avatar
Descartar
Autor

Thanks @Sudhir. Grateful for the help.

Publicaciones relacionadas Respuestas Vistas Actividad
1
ene 25
1838
2
sept 22
9595
2
abr 22
4638
0
jul 21
7285
1
mar 21
5019