如何在odoo 8中解决以下问题?

时间:2016-02-08 10:16:50

标签: openerp odoo-8 qweb

我正在尝试在qweb pdf报告中打印many2many字段值

以下是代码

purchase_quotation.py

class purchase_quotation(osv.Model):

    _name="purchase.quotation"
    _rec_name='vno'
    _columns={
        'name':fields.many2one('res.users','Name', readonly=True),
        'date':fields.date('Order Date', required=True),
        'vno':fields.char('Voucher No',size=40,readonly=1),
        'branch':fields.selection([
    ('blockA', 'Block A'),
        ('blockB', 'Block B'),
        ('admin', 'Admin'),

        ], 'Branch/Office', readonly= False, select=True, required=True),
        'user_manager_id':fields.many2one('res.users','Manager'),
        'approve_by':fields.char('Approved By'),
        'order_line': fields.one2many('product.text', 'pro_ref', 'Order Lines',required=True),
    }

purchase_order.py

class purchase_order(osv.osv):
    _inherit = "purchase.order"
    _columns = {
            'vno_ref':fields.many2many('purchase.quotation', 'voch_ref' , string='Ref.Voucher No'),
            'spo':fields.many2one('res.users','Submit To', domain = [('is_approver','=',True)],),

    } 

qweb pdf报告中的代码

<div class="col-xs-4 pull-right">
            <strong>Order Date:</strong>
            <p t-field="o.date_order" t-field-options='{"widget": "date"}'/>
            <strong>Ref Voucher No:</strong>
            <p t-field="o.vno_ref"/>
</div>

如何在qweb pdf报告中显示many2many字段的值。有人对此有所了解吗?谢谢

1 个答案:

答案 0 :(得分:1)

只需查看销售订单报告,您就会找到最适合您的解决方案

我的销售订单行有tax_id,它是many2many字段的一部分。

您可以使用以下方式访问该字段

<tr t-foreach="o.order_line" t-as="l">
     <td>
         <span t-esc="', '.join(map(lambda x: x.name, l.tax_id))"/>
     </td>
</tr>

您可以按照自己的方式为Qweb View报表呈现实现该字段,然后在检查后打印PDF报告

我希望我的回答对您有所帮助:)