如何解决 odoo 8 中的 ParseError?

How to resolve ParseError in odoo 8?

当我自定义 res.users 树视图时,它工作正常。

<record model='ir.ui.view' id='transtech_usr'>

        <field name='name'>Base Res users</field>
        <field name="model">res.users</field>
        <field name="inherit_id" ref="base.view_users_tree"/>
        <field name="arch" type="xml">
        <form>

            <xpath expr="//field[@name='login_date']" position='attributes'>
                <attribute name='invisible'>1</attribute>
            </xpath>

            <xpath expr="//tree//field[@name='lang']" position="after">
                <field name='role'/>
                <field name='contact_num' />
                <field name='joining_date' />
            </xpath>
        </form>
        </field>
    </record>  

但是当涉及到编辑表单视图时问题出现了...

ParseError: "ValidateError
Field(s) `arch` failed against a constraint: Invalid view definition

Error details:
Field `sel_groups_7` does not exist

Error context:
View `users form`
[view_id: 320, xml_id: n/a, model: res.users, parent_id: 153]" while parsing /home/surya/Desktop/odoo-8.0/openerp/addons/ctran/view.xml:1497,    near 
        <record model="ir.ui.view" id="transtech_user_form">
        <field name="name">users form</field>
        <field name="model">res.users</field>
        <field name="inherit_id" ref="base.view_users_form"/>
        <field name="arch" type="xml">

              <xpath expr="//field[@name='active']" position="after">
                  <group>
                      <field name="survey_limit"/>
                  </group>    

              </xpath>

            </field>
    </record>

当我想在用户表单中插入一些字段时,出现上述错误。我认为由于这种形式本身具有继承的观点,所以我不会出错。但我不知道要解决它。请帮助我。

谢谢,chandu

你只需要将2个xpath封装到一个data标签中:

    <field name='name'>Base Res users</field>
    <field name="model">res.users</field>
    <field name="inherit_id" ref="base.view_users_tree"/>
    <field name="arch" type="xml">
        <data>
            <xpath expr="//field[@name='login_date']" position='attributes'>
                <attribute name='invisible'>1</attribute>
            </xpath>

            <xpath expr="//tree//field[@name='lang']" position="after">
                <field name='role'/>
                <field name='contact_num' />
                <field name='joining_date' />
            </xpath>
        </data>
    </field>
</record>

关于表单视图,我想错误是由于 view_users_tree 视图的继承链造成的。 也许你应该检查你之前是否删除了一些模块。 错误的字段是一个自动生成的字段,那么不容易找到......在你的代码上尝试grep for sel_groups

我还没有检查你的代码,但你似乎面临着关于 Field sel_groups_7 does not exist 的回溯。为此,解决方案是您需要在 __openerp__.py 中的 depends 中添加 'share' 模块。对于您的参考,您可以看到 here

终于找到解决办法了 谢谢大家的帮助..

<record model='ir.ui.view' id='transtech_user_form'>
        <field name='name'>users form</field>
        <field name="model">res.users</field>
        <field name="inherit_id" ref="base.view_users_form"/>
        <field name="arch" type="xml">
        <data>
                <field name="active" position="after">
                    <field name='survey_limit'/>
                </field>

        </data>
        </field>
    </record>  

并且还添加 'share' 模块作为依赖于 openerp.py

谢谢