2017-01-27 8 views
1

odoo 9.のウィザードからレポートを生成するための助けが必要です。インターネット上では未完成の例が1つあります。私はすべてのユーザーがres.userを取得したいと思うcreate_date(フィールドres.users)> = date_fromと= < date_to私のウィザーズから。odooのウィザードからレポートを生成する9

マイソース:

<?xml version="1.0" encoding="utf-8"?> 
<openerp> 
    <data> 
     <record id="view_my_wiz_form" model="ir.ui.view"> 
      <field name="name">print.report.form</field> 
      <field name="model">my.test.report</field> 
      <field name="type">form</field> 
      <field name="arch" type="xml"> 
       <form string="Print Report"> 
        <group colspan="4" > 
         <field name="date_from"/> 
         <field name="date_to" /> 
        </group>        
        <group colspan="4" col="6">      
         <button name="print_report" string="Print Users" type="object"/> 
        </group> 
       </form> 
      </field> 
     </record> 

     <record id="action_my_wiz_form" model="ir.actions.act_window"> 
      <field name="name">Print Report</field> 
      <field name="res_model">my.test.report</field> 
      <field name="view_type">form</field> 
      <field name="view_mode">tree,form</field> 
      <field name="view_id" ref="view_my_wiz_form"/> 
      <field name="target">new</field>   
     </record> 

     <menuitem name="REPORT" id="menu_my_test_report" action="action_my_wiz_form" sequence="19"/>  
    </data> 
</openerp> 

の.pyファイルは

class my_test_report(models.Model): 

     _name = 'my.test.report' 
     _description = 'Test Report' 


     date_from = fields.Date(string = 'From') 
     date_to = fields.Date(string = 'To') 



     def print_report(self, cr, uid, ids, context=None): 
      datas = {} 
      if context is None: 
       context = {} 
      data = self.read(cr, uid, ids,['date_from', 'date_to'], context=context) 
      date_from = data[0]['date_from'] 
      date_to = data[0]['date_to'] 
      obj = self.pool.get('res.users') 
      ids = obj.search(cr, uid, [('create_date','>=',date_from),('create_date','<=',date_to)]) 
      print(ids) 
      datas = { 
        'ids': ids, 
        'model': 'res.users', 
        'form': data 
        } 
      return { 
        'type': 'ir.actions.report.xml', 
        'report_name': "XXXXXXX, 
        'datas': datas, 
       } 

HWはの.pyでREPORT_NAMEを作成し、私はres.usersからいくつかのフィールドでXXXXXXXXを入れていますか?

実行コードの後コンソールで

return { 
         'type': 'ir.actions.report.xml', 
         'report_name': "XXXXXXX, 
         'datas': datas, 
        } 

なし得る[3、4]

私は、私は2つのPDFページを取得し、このXML

<?xml version="1.0" encoding="utf-8"?> 
<odoo> 
<template id="report_sasa_test"> 
    <t t-call="report.html_container"> 
     <t t-set="data_report_margin_top" t-value="12"/> 
     <t t-set="data_report_header_spacing" t-value="9"/> 
     <t t-set="data_report_dpi" t-value="110"/> 
     <t t-foreach="docs" t-as="o"> 
       <div class="page"> 

        <table class="table table-condensed"> 
         <thead> 
          <tr> 
           <th>Name</th> 
           <th>Test</th> 
          </tr> 
         </thead> 
         <tbody> 
          <tr> 
           <td><t t-esc="o.name"/></td> 
           <td><t t-esc="o.name"/></td> 
          </tr> 
         </tbody> 
        </table> 
       </div> 
     </t> 
    </t> 
</template> 
</odoo> 

しかし、後に生成するPDFにしてみてくださいよ1つの行ですべてのデータが1ページに必要--- --- https://postimg.org/image/gbdadtrm5/

どのようにdefiこのレポートはどうですか?あなたがそうでなければ、それを定義しない限り、

など

id | login | signature 
3 | 25.01.17 | --- 
4 | 25.01.17 | --- 

答えて

0

docs変数は、デフォルトでは、モデルのレコードを表します。私はあなたが他のどこかでそれを定義するのを見ていないので、あなたの問題はあなたがt-foreach="docs"を持っていることです、そして、あなたはページを作成します。 t-foreach="docs"は、ページではなくレポート全体を囲む必要があります。このループの仕組みについては、addons/account/views/report_invoince.xmlをご覧ください。私は

<template id="report_report_sasa_test"> 
    <t t-call="report.html_container"> 
     <t t-foreach="docs" t-as="o"> 
      <t t-call="your_module.report_sasa_test" t-lang="o.partner_id.lang"/> 
     </t> 
    </t> 
</template> 
+0

代わりに1件のデータが設定上のhttps://postimg.org/image/rdzyxs7w7/ –

+0

チェック表示されている2種類のPDFページに再びこの例を試すが、 - レポートの>レポートかどうかを確認添付ファイル変数をtrueに設定します。これにより、レポートが再レンダリングされるのではなく、データベースからリロードされます。 –

+0

デフォルトはunceckedです!私は2つのpdfページの両方の変形を再度報告しようとしています! –

関連する問題