Skip to Content
Meniu
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
Această întrebare a fost marcată
3 Răspunsuri
12963 Vizualizări

Hello, I have Odoo 8. I developed a wizard, and I want to launch a qweb report (which I have developed in a xml file and works fine) when the user press "OK" button in the wizard. How can I launch the report from the Python method for "OK"?

Thanks!   

Imagine profil
Abandonează
Cel mai bun răspuns

for new api

@api.multi

def invoice_print(self):

    """ Print the invoice and mark it as sent, so that we can see more

      easily the next step of the workflow

     """

   assert len(self) == 1, 'This option should only be used for a single id at a time.'

  self.sent = True

   return self.env['report'].get_action(self, 'account.report_invoice')

for old api

    def print_quotation(self, cr, uid, ids, context=None):

'''

This function prints the sales order and mark it as sent, so that we can see more easily the next step of the workflow

'''

assert len(ids) == 1, 'This option should only be used for a single id at a time'

self.signal_workflow(cr, uid, ids, 'quotation_sent')

return self.pool['report'].get_action(cr, uid, ids, 'sale.report_saleorder', context=context)

Imagine profil
Abandonează
Cel mai bun răspuns

Hello Jose,


Try below method on click of Wizard button.


@api.multi

def print_report(self):

    report_obj = self.env['model.name'].search([]).ids

    datas = {

        'ids': report_obj,

        'model': 'model.name',

        'form': report_obj,

    }

    return {

        'type': 'ir.actions.report.xml',

        'report_name': 'module_name.report_id',

        'datas': datas,

    }


Hope it works for you.

Thanks,

Imagine profil
Abandonează
Cel mai bun răspuns

hello,

You can also use get_action as here

Imagine profil
Abandonează
Related Posts Răspunsuri Vizualizări Activitate
2
mai 15
7743
7
mai 20
6291
4
oct. 16
6575
0
apr. 16
2971
2
apr. 15
5825