콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
3 답글
12951 화면

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
7731
7
5월 20
6274
4
10월 16
6566
0
4월 16
2967
2
4월 15
5816