コンテンツへスキップ
メニュー
この質問にフラグが付けられました
3 返信
12868 ビュー

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!   

アバター
破棄
最善の回答

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)

アバター
破棄
最善の回答

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,

アバター
破棄
最善の回答

hello,

You can also use get_action as here

アバター
破棄
関連投稿 返信 ビュー 活動
2
5月 15
7637
7
5月 20
6149
4
10月 16
6488
0
4月 16
2893
2
4月 15
5724