【问题标题】:Invalid XML Architecture - OpenErp XML View无效的 XML 架构 - OpenErp XML 视图
【发布时间】:2013-04-08 07:32:36
【问题描述】:

在我的自定义模块中,我尝试在它的 xml 视图中进行一些设计(工作表、组、笔记本......)

我正面临这个问题“无效的 XML 架构 - OpenErp 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="Certificados">
                    <field name="Crear Certificado" >
                        <tree string="Certificadu" >
                            <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="Certificado" version="7.0">
                            <group>
                                <field name="Codigo_Arancelario" />
                                <field name="Especificaciones_Tecnicas"/>
                                <field name="Valor_En_Divisas" />
                            </group>
                        </form>
                    </field>
                <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>

这是我从另一个模块中获得的设计。

module.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'),
            '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()

我认为这不是 module.py 代码中不匹配或未声明的字段的问题。

我确定xml设计有问题,但不知道在哪里。

如果有人能帮忙就太好了。

提前致谢!

【问题讨论】:

    标签: python xml module openerp


    【解决方案1】:

    您确实在该表单视图中使用了不必要的 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>
                                    <field name="Codigo_Arancelario"/>
                                    <field name="Descripcion_Arancelaria"/>
                                </group>
                                <group>
                                    <field name="Especificaciones_Tecnicas"/>
                                    <field name="Cantidad"/>
                                </group>
                                <group>
                                    <field name="Precio_Unitario_Declarado"/>
                                    <field name="Valor_En_Divisas"/>
                                </group>
                                <group>
                                    <field name="Cantidad_Consumida"/>
                                    <field name="notas"/>
                                </group>
                            </group>
                        </sheet>
                    </form>
                </field>
            </record>
    

    如果你想最后使用'message_follower_ids'和'message_ids',在表单视图中显示,你需要继承'mail.thread'对象。

    谢谢, 普里耶什·索兰基

    【讨论】:

    • 谢谢谢谢谢谢谢谢,反正我需要notebook和separator来包含多个项目,不过我现在可以做得更好,我会做的,谢谢非常喜欢!
    【解决方案2】:

    在您的代码中存在许多错误。

    1.`<field name="Crear Certificado" >`
    

    该字段不会出现在您的 py 代码列中。并且您的字段名称在非 PEP 8 规则中

    2. `<field name="Item" readonly="1">`
    

    Item 是整数字段,我不明白你为什么把这个字段当作 one2many 并定义树。

    3.<div class="oe_chatter">
              <field name="message_follower_ids" widget="mail_followers"/>
              <field name="message_ids" widget="mail_thread"/>
            </div> 
    

    如果你想使用这个字段,那么你必须在你的对象中继承 _inherit = ['mail.thread', 'ir.needaction_mixin']

    而且您的 xml 文件结构非常糟糕,请更改它。使用四个空格制表符。

    希望这对你有帮助,如果你想在 openerp 中开发模块,那么首先阅读 openerp 的开发者书籍http://doc.openerp.com 和 7 http://doc.openerp.com/trunk/developers/server/

    【讨论】:

    • 嗯,这实际上是一部分,但非常感谢您一如既往的资源:),会尝试您的建议。
    【解决方案3】:

    我觉得你需要学习写xml的规则

    1) 所有 XML 元素都必须有一个结束标记 2) XML 标签区分大小写 3) XML 元素必须正确嵌套 4) XML 文档必须有一个根元素 5) 必须引用 XML 属性值

    http://www.w3schools.com/xml/xml_syntax.asp

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-27
      • 2015-10-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多