2014-11-21 29 views
1

我在XML視圖文件,從另一種觀點認爲繼承下面的代碼沒有發現在父視圖中的OpenERP XPath中引用的頁面在父視圖

儘管「會計」選項卡位於父視圖中。我做錯了什麼?謝謝你的幫助。

下面是我從繼承的觀點:

<?xml version="1.0" encoding="utf-8"?> 
<openerp> 
    <data> 
     <record id="product_template_form_view" model="ir.ui.view"> 
      <field name="name">product.template.form.inherit</field> 
      <field name="model">product.template</field> 
      <field name="priority">5</field> 
      <field name="inherit_id" ref="product.product_template_form_view"/> 
      <field name="arch" type="xml"> 
       <page string="Sales" position="after"> 
        <page string="Accounting" groups="account.group_account_invoice"> 
         <group> 
          <label for="categ_id" string="Internal Category"/> 
          <div><field name="categ_id" colspan="3" nolabel="1"/></div> 
         </group> 
         <group name="properties"> 
          <group> 
           <field name="property_account_income" domain="[('type','=','other')]" groups="account.group_account_user"/> 
           <field name="taxes_id" colspan="2" widget="many2many_tags"/> 
          </group> 
          <group> 
           <field name="property_account_expense" domain="[('type','=','other')]" groups="account.group_account_user"/> 
           <field name="supplier_taxes_id" colspan="2" widget="many2many_tags"/> 
          </group> 
         </group> 
        </page> 
       </page> 
      </field> 
     </record> 

     <record id="product_template_search_view" model="ir.ui.view"> 
      <field name="name">product.template.search</field> 
      <field name="model">product.template</field> 
      <field name="mode">primary</field> 
      <field name="inherit_id" ref="product.product_template_search_view"/> 
      <field name="arch" type="xml"> 
       <field name="product_variant_ids" position="after"> 
        <field name="categ_id"/> 
       </field> 
       <xpath expr="//group[@string='Group by...']" position="inside"> 
        <filter string='Category' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'categ_id'}"/> 
       </xpath> 
      </field> 
     </record> 

     <record id="view_category_property_form" model="ir.ui.view"> 
      <field name="name">product.category.property.form.inherit</field> 
      <field name="model">product.category</field> 
      <field name="inherit_id" ref="product.product_category_form_view"/> 
      <field name="arch" type="xml"> 
       <data> 
        <xpath expr="//group[@name='parent']" position="inside"> 
         <group name="account_property" string="Account Properties" colspan="2"> 
          <field name="property_account_income_categ" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/> 
          <field name="property_account_expense_categ" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/> 
         </group> 
        </xpath> 
       </data> 
      </field> 
     </record> 

    </data> 
</openerp> 

這裏是繼承了以前的觀點,給了我錯誤的觀點:

<?xml version="1.0" encoding="utf-8"?> 
<openerp> 
    <data> 
     <record id="product_config_form_view" model="ir.ui.view"> 
      <field name="name">product.config.form.view</field> 
      <field name="model">product.template</field> 
      <field name="type">form</field> 
      <field name="inherit_id" ref="product.product_template_only_form_view" /> 
      <field name="arch" type="xml"> 
       <label for="name" position="replace"> 
        <label for="name" invisible="1"/> 
       </label> 
       <field name="name" position="replace">      

        <div style="font-size:10pt;"> 
         <label for="class_id" string="Item Class" /> 
        </div> 
        <div style="font-size:10pt;"> 
         <field name="class_id" colspan="3" nolabel="1" on_change="onchange_class_id(class_id)" 
         /> </div> 
        <div style="font-size:10pt;"> 
         <label for="name" string="Item Description"/> 
        </div> 
        <div style="font-size:10pt;" > 
         <field name="name" colspan="3" nolabel="1"/> 
        </div> 

       </field> 
       <field name="default_code" position="replace" > 
        <field name="default_code" string="Item Number" /> 
       </field> 

       <xpath expr="//notebook/page[@string='Accounting']/group" position="replace"> 
       </xpath> 
      </field>   
     </record> 

     <record id="product_config_tree_view" model="ir.ui.view"> 
      <field name="name">product.config.tree.view</field> 
      <field name="model">product.class</field> 
      <field name="type">tree</field> 
      <field name="arch" type="xml"> 
       <tree string="Product"> 
        <field name="default_code" string="Class ID" colspan="3" nolabel="1" />       
        <field name="name" string="Class Description" colspan="3" nolabel="1"/>      
       </tree> 
      </field>   
     </record>  

     <record id="class_search_view" model="ir.ui.view"> 
      <field name="name">class.search.view</field> 
      <field name="model">product.class</field> 
      <field name="arch" type="xml"> 
       <search string="Class"> 
        <field name="name" string="Class Description" filter_domain="['|',('default_code','ilike',self), 
        ('name','ilike',self)]" />         
       </search> 
      </field> 
     </record> 

    </data> 
</openerp> 

回答

2

您與//notebook開始你的XPath表達式。 因此,您的xpath會選擇所有notebook元素,而不管它們在文檔中的顯示位置。 但我沒有看到任何包含筆記本的xml標籤。

該表達式:

<xpath expr="//page[@string='Accounting']/group" position="replace"></xpath> 

選擇下的所有組的元素:

<page string="Accounting" groups="account.group_account_invoice"> 
+0

這個問題對inherit_id錯誤的視圖。感謝您的幫助。 – Nebojsa 2014-11-25 12:41:02