2013-09-24 38 views
3

我需要在OpenErp中显示labeltitle字段。标签字段问题 - OpenErp

我有purchase模块从所述表格中检索company_id, partner_id, date_order, etc在一段代码,然后在级联方式示出这些字段值:

def _combinalos(self, cr, uid, ids, field_name, args, context=None): 
    values = {} 
    for id in ids: 
     rec = self.browse(cr, uid, [id], context=context)[0] 
     values[id] = {} 
     values[id] = '0%s-%s%s-%s-%s' %(rec.company_id, rec.partner_id, rec.soli_cant, rec.dest, rec.date_order) 
    return values 

然后调用这样功能:

 'nombre' : fields.function(_combinalos, type='char', string='Nombre', arg=('empresa','provee','soli_cant', 'dest', 'anho'), method=True), 

,当然还有XML视图代码:

<h1> 
    <label string="Request for Quotation " attrs="{'invisible': [('state','not in',('draft','sent'))]}"/> 
    <label string="Purchase Order " attrs="{'invisible': [('state','in',('draft','sent'))]}"/> 
    <field name="nombre" class="oe_inline" readonly="1" /> 
</h1> 

正在​​功能字段。

问题是,当我保存文档,它应该告诉我这些字段的名称或标签,但恰恰说明我喜欢现场的ID或东西:

Image

那么,如何我可以为这些战队显示'名称'或'标签'吗?这可能是xml字段调用中的某个属性?

在此先感谢。

回答

4

1)拉布勒未显示可能是因为你没有指定“for”属性使用它像

<h1> 
    <label string="Request for Quotation " for="nombre" attrs="{'invisible': [('state','not in',('draft','sent'))]}"/> 
    <label string="Purchase Order " for="nombre" attrs="{'invisible': [('state','in',('draft','sent'))]}"/> 
    <field name="nombre" class="oe_inline" readonly="1" /> 
</h1> 

,或者可以是在你喜欢的div出侧h1标签使用类oe_editonly

<div class="oe_title"> 
    <div class="oe_edit_only"> 
     <h1> Your code </h1> 
    </div> 
</div> 

这将只在编辑模式下显示标签,一旦您保存记录标签变为不可见。

2)问题是,当我保存文档,它应该告诉我这些字段的名称或标签,但恰恰说明我喜欢现场的ID或东西:

这是因为在函数返回_combinalos浏览对象rec.company_id问题是,如果你想id你应该返回rec.company_id.id像

def _combinalos(self, cr, uid, ids, field_name, args, context=None): 
    values = {} 
    for id in ids: 
     rec = self.browse(cr, uid, [id], context=context)[0] 
     values[id] = {} 
     values[id] = '0%s-%s%s-%s-%s' %(rec.company_id.id, rec.partner_id.id, rec.soli_cant, rec.dest, rec.date_order) 
    return values 
+0

非常感谢你非常返回公司的浏览对象,完美的作品,顺便说一句,是有没有办法在'date_order'中显示'年份'?例如,只是'2013',而不是'2013-09-23'? – NeoVe

+0

'date_order'是'date'类型字段 – NeoVe

+0

使用rec.date_order.year获取更多关于datetime refere的信息http://docs.python.org/2/library/datetime.html – Heroic