0

モジュール certificados.py の xml を取得しました。.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()

私はこのモジュールにいくつかのデザインを作成しようとしているので、購入要求のように表示されます。つまり、レコードだけでなく、いくつかの「シート」と「h1」と「ノート」など、私のモジュールのコードその「フォーム」セクションのフォームは次のとおりです。

    <record id="student_certificados_form" model="ir.ui.view">
    <field name="name">certificados.result.form</field>
    <field name="model">certificados.certificados</field>
    <field name="type">form</field>
    <field name="arch" type="xml">
        <form string="Introducir los datos" >
            <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" />
            </form>
    </field>
</record>

いくつかの変更を加えましたが、エラーがどこにあるのかわかりません。変更されたバージョンの形式は次のとおりです。

<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 フィールドの不一致と呼ばれます。

誰かがエラーの場所を教えてくれますか?

前もって感謝します

4

2 に答える 2

1

py ファイルのフィールド定義に問題がある可能性があります。

次のようにフィールドを定義しています: です'Codigo Arancelario' : fields.integer('Codigo Arancelario')が、このようにする必要があります'Codigo_Arancelario' : fields.integer('Codigo Arancelario')。そのため、エラーに直面しています。

したがって、py と xml のフィールド定義を変更してから試してください。

それならうまくいくと思います。

于 2013-04-07T05:45:34.550 に答える
1

フィールド名を「Codigo Arancelario」から「Codigo_Arancelario」に改善した後でも、上記のコードからのエラーが引き続き発生します。「one2many」フィールドタイプの場合、そのオブジェクトを別のオブジェクトに参照するmany2oneフィールドが必要であることを忘れているか、気付いていない可能性があることを分析できます。

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.
于 2014-01-06T10:21:57.603 に答える