如何编写向导函数来打印qweb报告?

时间:2016-09-07 08:21:13

标签: python xml openerp

我有以下挑战。我在名为 sales_invoice 的模块上创建。我为 account.invoice 对象创建了一个报告。

mom_report.xml文件包含

    <openerp>
        <data>
         <report
                id="action_report_mom"
                string="MoM"
                model="account.invoice"
                report_type="qweb-pdf"
                name="sales_invoice.report_mom"
                file="sales_invoice.report_mom"
            /></data></openerp>

mom_view.xml我有以下代码

    <?xml version="1.0" encoding="utf-8"?>
    <openerp>
        <data>
             <act_window name="Pass-01 Invoice"
                res_model="prints.wizard"
                src_model="account.invoice"
                view_mode="form"
                view_type="form"
                multi="False"
                target="new"
                key2="client_print_multi"
                id="action_pass_id"/>
              </data>
           </openerp>

sales_invoice / views 我在 report_mom.xml 的名称中有以下模板                                                                   
            报告介于此之间                           

我创建了向导sales_invoice / wizard文件夹有以下文件 的 print_invoice.py

    class prints_wizard(osv.osv_memory):

        _name="prints.wizard"


        _columns={


            'selection_item':fields.selection([('first', 'First Stage Dealer'), ('secon', 'Second Stage Dealer')],'Stage'),
        }


        def print_report(self, cr, uid, ids, context=None):
            datas = {}
            if context is None:
                context = {}
            datas['ids'] = context.get('active_ids', [])
            datas['model'] = context.get('active_model', 'ir.ui.menu')      
            return self.pool['report'].get_action(cr, uid, [], 'sales_invoice.report_mom', data=datas, context=context)

print_invoice_view.xml 文件包含以下代码

<openerp>
            <data>
                 <record id="view_print_order" model="ir.ui.view">
                  <field name="name">prints.wizard</field>
                  <field name="model">prints.wizard</field>
                  <field name="arch" type="xml">
                    <form string="Print The Copy of " >
                        <group>
                            <group>
                                <field name="selection_item" />

                            </group>
                        </group>
                        <footer>
                            <button name="print_report" context="{'open_purchase': True}" string="Print" type="object" class="oe_highlight"/>
                            <!-- <button name="create_supplier" string="Dummy invoice" type="object" class="oe_highlight"/> -->
                        </footer>
                    </form>
                  </field>
                </record>
                <record id="action_pass1_update_wizard" model="ir.actions.act_window">
                    <field name="name">Pass-01 Invoice</field>
                    <field name="type">ir.actions.act_window</field>
                    <field name="res_model">prints.wizard</field>

                    <field name="view_type">form</field>
                    <field name="view_mode">form,tree</field>
                    <field name="target">new</field>

                </record>
               </data>
        </openerp>

报告模板

<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<template id="report_mom">
    <t t-foreach="docs" t-as="o">
   <div class="header">
        <div class="clearfix"><br /></div>
all code here
</div>
</t>

</template>
</data>
</openerp>

它工作正常。我的意思是在打印选项中我正在打印报告。我有一个任务就像。我已经创建了向导即将到来。在该向导中我有一个选择字段。当他点击来自打印的Pass-01 Invoice 将打开向导,我会选择一些阶段,如果我选择第一阶段经销商并点击打印选项。它必须执行以下操作         1)必须打印该报告         2)在该报告中,标题必须是 第一阶段经销商 的名称 我很难为该打印按钮编写功能

0 个答案:

没有答案