Python 视图体系结构的XML无效-OpenErp

Python 视图体系结构的XML无效-OpenErp,python,xml,object,module,openerp,Python,Xml,Object,Module,Openerp,我的module.py有这个代码 class certificados(osv.osv): _name = 'certificados.certificados' _description="Certificados de No Produccion" _inherit=['mail.thread', 'ir.needaction_mixin'] _columns = { 'Registro_Numero' : fields.integer('Registro Numero'),

我的module.py有这个代码

class certificados(osv.osv):

_name = 'certificados.certificados'
_description="Certificados de No Produccion"
_inherit=['mail.thread', 'ir.needaction_mixin']

_columns = {
    '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'), 'cert_ids' : fields.one2many('certificados.line','requisicion_id','Items del Certificado'),
    'descripcion' : fields.text('Descripcion'),
    'notas' : fields.text('Notas'),
}


class certificados_line(osv.osv):

_name = 'certificados.line'
_description="Certificados No Produccion"

def multi_a_b(self, cr, uid, ids, name, arg, context=None):
res = {}
for record in self.browse(cr, uid, ids,context):
    res[record.id] = record.Cantidad * record.Precio_Unitario_Declarado
return res

_columns = {
    'Codigo_Arancelario' : fields.integer('Codigo Arancelario'),
    'product_id' : fields.many2one('product.product', 'Material'),
    '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.function(multi_a_b, type='integer', string='Valor En Divisas'),
    'requisicion_id' : fields.many2one('certificados.certificados', 'Certificados de No Produccion', ondelete='cascade'),
    'Cantidad_Consumida' : fields.float('Cantidad Consumida'), 'Cantidad_Disponible' : fields.float('Cantidad Disponible'),
    }


certificados_line()
这是我的模块_view.xml的代码

       <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="Productos">
                            <field name="cert_ids">
                                <tree string="Productos">
                                    <field name="product_id"/>
                                    <field name="Codigo_Arancelario"/>
                                    <field name="Descripcion_Arancelaria"/>
                                    <field name="Especificaciones_Tecnicas"/>
                                    <field name="Cantidad"/>
                                    <field name="Precio_Unitario_Declarado"/>
                                    <field name="Valor_En_Divisas"/>
                                    <field name="Cantidad_Consumida"/>
                                </tree>
                            </field>
                            <separator string="Observaciones"/>
                            <field name="descripcion"/>
                        </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>
<!-- Certification Action-->
<record id="view_certificados_tree" model="ir.ui.view">
    <field name="name">certificados.tree</field>
    <field name="model">certificados.certificados</field>
    <field name="type">tree</field>
    <field name="arch" type="xml">
        <tree string="Certificados" >
            <field name="Registro_Numero" />
            <field name="Fecha_de_Emision" />
            <field name="Fecha_de_Solicitud" />
            <field name="Fecha_del_Documento" />
            <field name="Vigencia" />
        </tree>
    </field>
</record>
<record model="ir.ui.view" id="certificados_search">
    <field name="name">certificados.search</field>
    <field name="model">certificados.certificados</field>
    <field name="type">search</field>
    <field name="arch" type="xml">
    <search string="Buscar Certificados" >
        <field name="Fecha_de_Emision" string="Fecha_de_Emision" />
        <field name="Registro_Numero" string="Registro_Numero" />
        <field name="Vigencia" string="Vigencia" />
    </search>
    </field>
</record>

<record id="action_certificados_certificados" model="ir.actions.act_window">
    <field name="requisicion_id">Certificados</field>
    <field name="res_model">certificados.certificados</field>
    <field name="view_type">form</field>
    <field name="view_mode">tree,form</field>
    </record>       

认证结果表
证明,证明
认证树
证明,证明
树
认证检索
证明,证明
搜索
证书
证明,证明
形式
树
我确实在module.py中更改了一个名为“Valor_En_divisias”的字段,因为我收到了这个错误,它通常发生在xml中调用的对象上的未声明或不匹配之后,问题是,我找不到错误在哪里


任何帮助都将不胜感激,谢谢

检查您是否已将python文件包含在模块的
\uuu init\uuuu.py
文件中。这是我经常忘记的事情:)


Jos

您的所有记录必须在标签内

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>
    </data>
</openerp>


我想你忘了。将您的xml代码放入此标记中。

仔细检查您的视图xml和模型类。上面的文件中似乎没有映射某些字段。如果您粘贴eclipse控制台中显示的错误,这一点很清楚。因此:请始终添加错误的回溯。好的,当然,这是粘贴库:)谢谢,但我只是省略了该代码,它实际上就在那里,无论如何,非常感谢:)一切都在那里,但是谢谢你的时间:)谢谢你