XML设计开放程序

2024-05-29 04:07:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个xml作为我的模块证书.py,py模块如下所示:

class certificados(osv.osv):

_name = 'certificados.certificados'

_columns = {
            'Item' : fields.integer('Item'), 'Registro Numero' : fields.integer('Registro Numero'),
            'Fecha de Emision': fields.date('Fecha de Emision', required=True, select=True),
            'Fecha de Solicitud': fields.date('Fecha de Solicitud', required=True, select=True),
            'Fecha del Documento': fields.date('Fecha del Documento', required=True, select=True),
            'Vigencia' : fields.integer('Vigencia'), 
            'Codigo Arancelario' : fields.integer('Codigo Arancelario'),
            'cert_ids' : fields.one2many('purchase.requisition.line','requisition_id','Products to Purchase',states={'done': [('readonly', True)]}),
            'Descripcion Arancelaria' : fields.char('Descripcion Arancelaria', size=42, required = True, translate = True), 
            'Especificaciones Tecnicas' : fields.char('Especificaciones Tecnicas', size=60, required = True, translate = True), 
            'Cantidad' : fields.float('Cantidad'), 'Unidad de Medida': fields.many2one('product.uom', 'Unidad de Medida'),
            'Precio Unitario Declarado' : fields.float('Precio Unitario Declarado'), 'Moneda' : fields.many2one('res.currency', 'Moneda'),
            'Valor En Divisas' : fields.float('Valor En Divisas'),
            'Cantidad Consumida' : fields.float('Cantidad Consumida'), 'Cantidad Disponible' : fields.float('Cantidad Disponible'),
            'notas' : fields.text('Notas'),
            }
certificados()

我正在尝试对这个模块进行一些设计,这样它就可以像请购单一样显示出来了,我的意思不仅仅是记录,还有一些'sheet'和'h1'以及类似的'笔记本'之类的东西,我的模块在它的'form'部分的代码是这样的:

^{pr2}$

我做了一些修改,但找不到错误所在,修改后的版本为:

<record id="student_certificados_form" model="ir.ui.view">
    <field name="name">certificados.result.form</field>
    <field name="model">certificados.certificados</field>
    <field name="arch" type="xml">
        <form string="Introducir los datos" version="7.0">
        <sheet>
            <div class="oe_edit_only">
                <label for="Registro Numero" class="oe_inline"/>
            </div>
            <h1>
                <field name="Registro Numero" class="oe_inline"/>

            </h1>
            <group>
                <group>
                    <field name="Fecha de Emision"/>
                    <field name="Fecha de Solicitud"/>
                </group>
                <group>
                    <field name="Fecha del Documento"/>
                    <field name="Vigencia"/>
                 </group>
            </group>
            <notebook>
            <page string="Certificados">
                    <field name="
                        <tree string="certificados_certificados_tree" editable="bottom">
                            <field name="Item" />
                            <field name="Codigo Arancelario" />
                            <field name="Descripcion Arancelaria" />
                            <field name="Especificaciones Tecnicas" />
                            <field name="Precio Unitario Declarado" />
                            <field name="Valor En Divisas" />
                            <field name="Cantidad Consumida" />
                            <field name="Cantidad Disponible" />
                        </tree>
                        <form string="Certificados" version="7.0">
                            <group>
                                <field name="Codigo Arancelario" />
                                <field name="Especificaciones Tecnicas"/>
                                <field name="Valor En Divisas" />
                            </group>
                        </form>

                <separator string="Certificados"/>
                <field name="Item" readonly="1">
                <tree string="Certificados" >
                    <field name="Codigo Arancelario" />
                    <field name="Descripcion Arancelaria" />
                    <field name="Especificaciones Tecnicas" />
                    <field name="Cantidad" /><field name="Unidad de Medida" />
                    <field name="Precio Unitario Declarado" /><field name="Moneda" />
                    <field name="Valor En Divisas" /><field name="Moneda" />
                    <field name="Cantidad Consumida" />
                    <field name="Cantidad Disponible" />
                </tree>
                </field>
            </page>
        </notebook>
    </sheet>
                 <div class="oe_chatter">
          <field name="message_follower_ids" widget="mail_followers"/>
          <field name="message_ids" widget="mail_thread"/>
        </div> 

            </form>
    </field>
</record>

我知道这里有一些输入错误,但是找不到,它给了我无效的XML架构,这通常是指XML字段中的不匹配。在

有人能告诉我错误在哪里吗?在

提前谢谢


Tags: nameformtruefieldfieldsstringgrouprequired
2条回答

即使将你的域名从“Codigo Arancelario”改为“Codigo_Arancelario”, 您仍然会从上面的代码中得到一个错误。我可以分析,可能是你忘了,或者你没有意识到,对于'one2many'字段类型,必须有多个字段将该对象引用到另一个对象。在

Here in your module's scenario, You have to define many2one field in purchase.requisition.line for 'cert_ids'. 

Try This :

instead of 'cert_ids' , use this one over there

'cert_ids' : fields.one2many('purchase.requisition.line','cert_requisition_id','Products to Purchase',states={'done': [('readonly', True)]}),



And after that add an object, in your .py file i.e

class purchase_requisition_line(osv.Model):
    _inherit = 'purchase.requisition.line'
    _columns = {
        'cert_requisition_id': fields.many2one('certificados.certificados', 'Products to Purchase')
    }
purchase_requisition_line()

Hope this will Solve your Error.

py文件中的字段定义可能有问题。在

您定义的字段如下:'Codigo Arancelario' : fields.integer('Codigo Arancelario'),但它必须是这样的'Codigo_Arancelario' : fields.integer('Codigo Arancelario')。这就是你面临错误的原因。在

所以更改py和xml中的字段定义,然后尝试一下。在

我希望到时候能奏效。在

相关问题 更多 >

    热门问题