Pular para o conteúdo
Menu
Esta pergunta foi sinalizada
2 Respostas
10083 Visualizações
Avatar
Cancelar
Melhor resposta

Just update the record using write method.

Example,

    def method_name(self, cr, uid, ids, context=None):
        self.write(cr, uid, ids, {'state': 'state_name'}, context=context)
        return True

Avatar
Cancelar
Autor

thanks

thank you very much it did work

Melhor resposta

Hi,
In Odoo, you can change the state of a record (e.g., a model) when a button is clicked by using Python methods and XML views. Here's a step-by-step guide on how to achieve this:

Create a Button:
First, create a button in your Odoo model's XML view file. This button will trigger the action to change the state of the record. For example:

 


Then define a method that will change the state of record using write method

class YourModel(models.Model):
    _name = 'your.model'

    state = fields.Selection([
        ('draft', 'Draft'),
        ('approved', 'Approved'),
        ('rejected', 'Rejected'),
    ], default='draft', string='State')

    def action_change_state(self):
        # Update the state of the current record or a set of records
        self.write({'state': 'approved'})  # Change the state to 'approved'

Hope it helps



Avatar
Cancelar
Publicações relacionadas Respostas Visualizações Atividade
1
jan. 24
14231
2
mar. 18
5058
0
jan. 18
3166
2
fev. 24
25626
3
fev. 25
55527