Odoo:如何 select 使用菜单 ID 自定义字段
Odoo: How to select custom fields using menu id
我已经将一些自定义字段制作成 my_purchase_custom.py class,如下所示。
- Custom A
- Custom B
- Custom C
- etc.
现在,purchase.order模型中有两个菜单项
- Requests for Quotations [menu_id=314]
- Purchase Orders [menu_id=315]
我想做的是将字段 Custom A 放入 menu_id=314 并将字段 Custom B 和 Custom C 放入 menu_id=315
请就如何更改我的 .xml 文件提供帮助。我经历了这个 link: https://www.odoo.com/fr_FR/forum/help-1/question/hide-menu-for-existing-group-18704 但无法正确理解。示例代码片段将是个好主意
您可以为您的菜单项分配一个操作并加载您想要的特定视图。例如:
<record id="action_sale_order_view" model="ir.actions.act_window">
<field name="name">Quotations</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sale.order</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,calendar,graph</field>
<field name="domain">[('field_name','=',False)]</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to define a new quotation.
</p>
</field>
</record>
<record id="view_act_object_tree" model="ir.actions.act_window.view">
<field name="view_mode">tree</field>
<field name="view_id" ref="sale.view_quotation_tree" />
<field name="act_window_id" ref="action_sale_order_view" />
</record>
<record id="view_act_object_form" model="ir.actions.act_window.view">
<field name="view_mode">form</field>
<field name="view_id" ref="sale.view_order_form" />
<field name="act_window_id" ref="action_sale_order_view" />
</record>
<record id="view_act_object_calendar" model="ir.actions.act_window.view">
<field name="view_mode">calendar</field>
<field name="view_id" ref="sale.view_sale_order_calendar" />
<field name="act_window_id" ref="action_sale_order_view" />
</record>
<record id="view_act_object_graph" model="ir.actions.act_window.view">
<field name="view_mode">graph</field>
<field name="view_id" ref="sale.view_sale_order_graph" />
<field name="act_window_id" ref="action_sale_order_view" />
</record>
<menuitem id="main_sale_order_view"
name="Quotations"
parent="base.menu_sales"
sequence="4"
action="action_sale_order_view" />
并且您可以在自定义视图中显示或隐藏您想要的元素。这就是您要找的吗?
您可以尝试通过以下方式进行一些操作。
在您的 .py 文件中添加以下代码
从 openerp.osv 导入字段,osv
class purchase_order(osv.osv):
_inherit ="purchase.order"
_columns = {
'custom_a': fields.char('Custom A'),
'custom_b': fields.char('Custom B'),
'custom_b': fields.char('Custom C'),
}
在您的 .xml 文件中添加以下代码
<record model="ir.ui.view" id="r3x_inherit_purchase_ord">
<field name="name">Purchase Order Inherit Form</field>
<field name="model">purchase.order</field>
<field name="inherit_id" ref="purchase.purchase_order_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='pricelist_id']" position="after">
<field name="custom_a attrs={'invisible':[('state','!=','draft')]}/>
<field name="custom_b attrs={'invisible':[('state','=','draft')]} />
<field name="custom_c attrs={'invisible':[('state','=','draft')]}/ />
</xpath>
</field>
</record>
请您也可以设置 openerp.py 文件的路径,并在 init 的 .py 文件中添加条目。 py文件。
查看升级模块重启服务器查看采购订单视图效果
希望我的回答对您有所帮助:)
我已经将一些自定义字段制作成 my_purchase_custom.py class,如下所示。
- Custom A
- Custom B
- Custom C
- etc.
现在,purchase.order模型中有两个菜单项
- Requests for Quotations [menu_id=314]
- Purchase Orders [menu_id=315]
我想做的是将字段 Custom A 放入 menu_id=314 并将字段 Custom B 和 Custom C 放入 menu_id=315
请就如何更改我的 .xml 文件提供帮助。我经历了这个 link: https://www.odoo.com/fr_FR/forum/help-1/question/hide-menu-for-existing-group-18704 但无法正确理解。示例代码片段将是个好主意
您可以为您的菜单项分配一个操作并加载您想要的特定视图。例如:
<record id="action_sale_order_view" model="ir.actions.act_window">
<field name="name">Quotations</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sale.order</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,calendar,graph</field>
<field name="domain">[('field_name','=',False)]</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to define a new quotation.
</p>
</field>
</record>
<record id="view_act_object_tree" model="ir.actions.act_window.view">
<field name="view_mode">tree</field>
<field name="view_id" ref="sale.view_quotation_tree" />
<field name="act_window_id" ref="action_sale_order_view" />
</record>
<record id="view_act_object_form" model="ir.actions.act_window.view">
<field name="view_mode">form</field>
<field name="view_id" ref="sale.view_order_form" />
<field name="act_window_id" ref="action_sale_order_view" />
</record>
<record id="view_act_object_calendar" model="ir.actions.act_window.view">
<field name="view_mode">calendar</field>
<field name="view_id" ref="sale.view_sale_order_calendar" />
<field name="act_window_id" ref="action_sale_order_view" />
</record>
<record id="view_act_object_graph" model="ir.actions.act_window.view">
<field name="view_mode">graph</field>
<field name="view_id" ref="sale.view_sale_order_graph" />
<field name="act_window_id" ref="action_sale_order_view" />
</record>
<menuitem id="main_sale_order_view"
name="Quotations"
parent="base.menu_sales"
sequence="4"
action="action_sale_order_view" />
并且您可以在自定义视图中显示或隐藏您想要的元素。这就是您要找的吗?
您可以尝试通过以下方式进行一些操作。
在您的 .py 文件中添加以下代码 从 openerp.osv 导入字段,osv
class purchase_order(osv.osv):
_inherit ="purchase.order"
_columns = {
'custom_a': fields.char('Custom A'),
'custom_b': fields.char('Custom B'),
'custom_b': fields.char('Custom C'),
}
在您的 .xml 文件中添加以下代码
<record model="ir.ui.view" id="r3x_inherit_purchase_ord">
<field name="name">Purchase Order Inherit Form</field>
<field name="model">purchase.order</field>
<field name="inherit_id" ref="purchase.purchase_order_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='pricelist_id']" position="after">
<field name="custom_a attrs={'invisible':[('state','!=','draft')]}/>
<field name="custom_b attrs={'invisible':[('state','=','draft')]} />
<field name="custom_c attrs={'invisible':[('state','=','draft')]}/ />
</xpath>
</field>
</record>
请您也可以设置 openerp.py 文件的路径,并在 init 的 .py 文件中添加条目。 py文件。
查看升级模块重启服务器查看采购订单视图效果
希望我的回答对您有所帮助:)