如何独立打印每种产品的报告?

时间:2016-02-29 15:19:50

标签: python openerp odoo-9

我在sale.order模型中有一个表单视图。我添加了一个按钮,可以在窗体视图中独立打印每个产品的报告。

可以这样做吗?

以下图片更好地解释了上述内容。

图片:http://es.zimagez.com/zimage/formview.php

我想要的是按下按钮打印产品,它会专门打印该产品的报告。因此,为每一行添加一个按钮。

这是打印方法的按钮:

<button name="print_report" string="Print Service Ticket" type="object" icon="gtk-print"/>


    @api.multi
    def print_report(self):    
        return self.env['report'].get_action(self, 'sale.ticket_servicio')

这是我的报告观点:

<report 
            id="ticket_servicio"
            string="Ticket de Servicio"
            model="sale.order" 
            report_type="qweb-pdf"
            file="sale.ticket_servicio" 
            name="sale.ticket_servicio"
/>

就是这样。非常感谢您的时间和奉献精神。我感谢任何建议,建议和帮助。

1 个答案:

答案 0 :(得分:1)

似乎你没有在谷歌上进行适当的搜索,因为网络上有很多这样的例子。无论如何,你应该返回动作但是你必须传递一些参数,比如你要打印的项目的id / s。类似的东西:

return {
    'type': 'ir.actions.report.xml', 
    'report_name':'my.report.name',
    'datas': {
            'model':'my.model',
            'id': ids and ids[0] or False,
            'ids': ids and ids or [],
        }
}

请注意,您可以从操作本身读取默认数据(只是数据库中的一个对象),然后将ids注入您收到的字典中。