Zum Inhalt springen
Menü
Sie müssen registriert sein, um mit der Community zu interagieren.
Diese Frage wurde gekennzeichnet
1 Antworten
5180 Ansichten

In any record, when I select duplicates Odoo creates a duplicate even if I do not save (DISCARD).

this is true for anything; be it contacts, product, sales orders, BOM, operation, etc, 


I expect a duplicate ONLY if I save. 

using odoo14

Avatar
Verwerfen
Beste Antwort

This is by design.  The "Duplicate" in Action menu is calling the copy() method and direct to edit enable view mode.

To accomplish what you like, you could create a custom button with corresponding function.

This function should return a window action to form view with context and default_field.

Should look like this

def action_duplicate(self):
    self.ensure_one()
    context = {
        'default_field_1': self.field_1,
        'default_field_2': self.field_2,
        'default_field_3': self.field_3,
        ......
        ......
        ...... and so on    
        }
    return {
        'type': 'ir.actions.act_window',
        'view_type': 'form',
        'view_mode': 'form',
        'res_model': 'model.name',
        'views': [(self.env.ref('module_name.form_view_xml_id').id, 'form')],
        'view_id': self.env.ref('module_name.form_view_xml_id').id,
        'target': 'current',
        'context': context,        
    }

If you hit save, record is duplicated, discard will have nothing happen since you only open a form with default value.

Avatar
Verwerfen
Verknüpfte Beiträge Antworten Ansichten Aktivität
3
Sept. 25
3033
0
Aug. 25
610
1
Aug. 25
2731
2
Juli 25
8438
2
Juli 25
4848