This question has been flagged
1 Reply
4768 Views

How can I call a method, from another method of the same class and of different classes, according to a condition. use several codes (#) but none of them executes the conditions methods.

@api.multi

    def action_crear_documento1(self):

        if self.type=="sale":

            if self.invoice_type_code_id=="08":

                self.pool.get('account.journal').action_boleta_venta1(self)

                #journal=self.env['account.journal']

                #journal.action_boleta_venta1()

            elif self.invoice_type_code_id=="01":

                self.pool.get('account.journal').action_boleta_venta1(self)

                #journal=self.env['account.journal']

                #journal.action_boleta_venta1()

                #return self.action_boleta_venta4

   

    @api.multi

    def action_boleta_venta4(self):

        #code

       


    @api.multi

    def action_boleta_venta3(self):

        #code



Avatar
Discard
Best Answer

Hi,

You can make call like this,

self.env['model_name'].method_name() .

Example:

self.env['account.journal'].action_boleta_venta1()


If you are developing a module I will suggest you have a look at the odoo code and see how similar things are done inside the odoo itself and refer those things.

Thanks

Avatar
Discard
Author

I used this code, I think it's the same, and it didn't address me. I will check it again. Thank you.

#journal=self.env['account.journal']

#journal.action_boleta_venta1()