3

我需要在 OpenErp 中显示字段的labeltitle

我在模块中有一段代码从表单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>

作为nombre功​​能领域。

问题是,当我保存文档时,它应该向我显示这些字段的名称或标签,但只是向我显示字段的 ID 或其他内容:

图片

那么,我怎样才能显示这些字段的“名称”或“标签”?它可能是 xml 字段调用中的某些属性吗?

提前致谢。

4

1 回答 1

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>

或者您可能oe_editonly在 div 外的 h1 标签中使用了一个类,例如 .

<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
于 2013-09-24T05:00:36.413 回答