我想从向导打印报告。在此向导中,我恢复所选的订单,并使用所选的订单调用report_action函数。
问题是我不知道如何将订单发送到此功能。这是代码:
def _get_default_orders(self):
return self.env['sale.order'].browse(self.env.context.get('active_ids'))
order_ids = fields.Many2many('sale.order', string='Orders', default=_get_default_orders)
@api.multi
def processed_orders(self):
list = []
for orders in self:
if orders.order_ids:
list.append(orders)
datas = {
'ids': list,
'model': 'sale.order',
}
return self.env.ref('aloha_reports_templates.custom_report_sale_order').sudo().report_action(self, data=datas)
Odoo生成错误,因为我没有正确地将参数发送给report_action。
有人可以帮我吗?
谢谢
答案 0 :(得分:0)
首先按照您的示例,在您的系统中,该报表必须有aloha_reports_templates.custom_report_sale_order操作。
让我为您展示odoo 11社区代码中的示例 文件: account / models / account_invoice.py 方法( invoice_print )
url("/zpi-frontend/assets/fileName")
根据odoo 11社区中的上述代码,已经按以下方式创建了account_invoices报告操作( account / views / account_report.xml )。
@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
"""
self.ensure_one()
self.sent = True
if self.user_has_groups('account.group_account_invoice'):
return self.env.ref('account.account_invoices').report_action(self)
else:
return self.env.ref('account.account_invoices_without_payment').report_action(self)
希望这会有所帮助!
答案 1 :(得分:0)
是的。我有一个名为aloha_reports_templates.custom_report_sale_order的报告。
我知道这个例子,但有几个区别
1.-我想从向导中调用报告,所以我必须恢复选定的订单,然后,将此信息发送到报告中。
2.-我无法将自己发送到报告,因为我在向导中,而在订单树页面中则没有。
我需要收集选定的订单,然后将其发送到报告。这就是我尝试使用report_action函数的原因。但是我的问题是该函数使用的参数。
谢谢