同一模型odoo版本8

时间:2017-03-06 16:30:48

标签: xml treeview openerp odoo-8 openerp-8

我有一个问题! 好吧,我一直在尝试继承模型product.template并创建一个新的菜单项和操作窗口,以便调用一个新的独立树视图 但是我的新树视图影响了旧视图!这是我的代码!

<?xml version="1.0"?>
<openerp>
 <data>
  <record id="new_view_tree_modif_product" model="ir.ui.view">
    <field name="name">new_view_tree_modif_product</field>
    <field name="model">product.template</field>
    <field name="arch" type="xml">
      <tree editable="bottom" create="0" colors="red:inf_marge_min==True">
          <field name="name" string="Nom" readonly="1"/>
          <field name="standard_price" string="Prix de revient" readonly="1"/>
          <field name="marge" string="Marge"/>
          <field name="list_price" string="Prix de vente"/>
          <field name="inf_marge_min" invisible="1"/>
        </tree>
    </field>
  </record>
  <act_window id="action_new_view_product"
              name="Etude de prix"
              res_model="product.template"
              view_mode="tree" />
  <menuitem id="menu_prix_modif_product"
            name="Prix"
            parent="base.menu_product"
            sequence="9"
            action="action_new_view_product" />
  <record id="tree_id" model="ir.actions.act_window.view">
    <field eval="3" name="sequence"/>
    <field name="view_mode">tree</field>
    <field name="view_id" ref="new_view_tree_modif_product"/>
    <field name="act_window_id" ref="action_new_view_product"/>
  </record>
</data>

它影响默认树视图 如何在不影响旧视图的情况下调用树视图 日Thnx

3 个答案:

答案 0 :(得分:1)

指定视图类型和优先级。

<field name="type">tree</field>
<field name="priority" eval="20"/>

视图的默认优先级为16.较低的值表示较高的优先级,反之亦然。只需将您的视图设置为低于原始视图的优先级,除非您明确指定,否则Odoo不会更喜欢它。

有关观看次数优先的简要信息:https://www.odoo.com/documentation/8.0/reference/views.html

答案 1 :(得分:1)

为了实现这一点,我必须创建一个主要动作,重新组合两个动作的新视图:

<record id="action_1" model="ir.actions.act_window">
   <field name="name">new view</field>                                         
   <field name="res_model">model.name</field>                                  
   <field name="view_type">form</field>                                        
   <field name="view_mode">tree,form</field>                                   
   <field eval="False" name="view_id"/>                                        
</record>

所以这是主要操作,现在我们应该为每个视图创建操作: 我们的新树视图的操作1

<record id="action_new_tree" model="ir.actions.act_window.view">     
    <field eval="1" name="sequence"/>  
    <field name="view_mode">tree</field>  
    <field name="view_id" ref="external id of your new tree view"/>
    <field name="act_window_id" ref="action_1"/>
</record>

现在我们为新的树视图做了一个动作,并将它链接到第一个动作,我们应该为表单做同样的事情

<record id="action_new_form" model="ir.actions.act_window.view">     
    <field eval="1" name="sequence"/>  
    <field name="view_mode">form</field>  
    <field name="view_id" ref="external id of your new form view"/>
    <field name="act_window_id" ref="action_1"/>
</record>

完美,我们现在需要的是为第一个动作(action1)创建一个menuitem

<menuitem id="id_of_ur_new_menu"  
 name="new form and tree view for an existing model"               
 parent="parent.menu "               
 action="action_1"/>

答案 2 :(得分:0)

将此行'primary'添加到您的代码中,这样就不会影响默认的树状视图。

<record id="tree_id" model="ir.actions.act_window.view">
    <field eval="3" name="sequence"/>
    <field name="view_mode">tree</field>
    <field name="view_id" ref="new_view_tree_modif_product"/>
    <field name="mode">primary</field>
    <field name="act_window_id" ref="action_new_view_product"/>