如何删除odoo(openerp)report_saleorder_document上的产品说明下的product_id?

时间:2014-12-19 14:55:57

标签: report odoo

请帮忙......

                <tr t-foreach="o.order_line" t-as="l">
                   <td>
                        <span t-field="l.name" />     
                    </td>
                </tr>

l.name包含product_id .how可以格式化吗?我只想要产品说明

产品说明 [A123] ipad [A123] ipad                         16G,白

如何删除描述&#34; [A123] ipad&#34;我的报告上有这个product_name吗?

1 个答案:

答案 0 :(得分:1)

您需要覆盖product.product对象的name_get函数。

这是示例

class product_product(osv.osv):
    _inherit = 'product.product'

    def name_get(self, cr, uid, ids, context=None):
        return_val = super(product_product, self).name_get(cr, uid, ids, context=context)
        res = []
        def _name_get(d):
            name = d.get('name','')
            if d.get('variants'):
                name = name + ' - %s' % (d['variants'],)
            return (d['id'], name)
        for product in self.browse(cr, uid, ids, context=context):
            res.append((product.id, (product.name)))
        return res or return_val

product_product()

您必须制作一个自定义模块,并将其安装在数据库中。如果要直接在product.py中进行更改,则必须在product.py中对产品模块进行以下更改。替换以下代码

def _name_get(d):
name = d.get('name','')
code = d.get('default_code',False)
if code:
    name = '[%s] %s' % (code,name)
if d.get('variants'):
    name = name + ' - %s' % (d['variants'],)
return (d['id'], name)

def _name_get(d):
name = d.get('name','')
if d.get('variants'):
    name = name + ' - %s' % (d['variants'],)
return (d['id'], name)

我希望这能解决你的问题。

谢谢和问候,

Yaseen Shareef