我正在研究“会计和财务”模块,我想做一些修改,例如隐藏字段和隐藏税表。有人可以帮我吗?
请告诉我隐藏左侧菜单项的步骤(税图)。
我也想知道view_id隐藏发票表和底部的税(更新)中的税。
view_id
请让我知道隐藏它们的外部ID,因为它们已链接到其他模型,所以无法找到它们。
发票/税收字段:
field_id:tax_id
目的:
type:many2many relation:account.tax
首先,激活 Odoo开发人员模式 ,因此您可以轻松获取任何对象的外部ID。
如何知道任何对象的外部ID
打开该表单,只有在 开发人员模式 处于活动状态时,您才能在页面顶部看到一个下拉字段。
然后从下拉列表中选择选项“编辑表单视图”,您可以看到该表单视图的详细信息,例如模型名称,该视图的外部ID等。
如果要继承此表单,请使用此表单的外部ID “ account.invoice_supplier_form” ,请参见此图片。
要知道 外部编号 的 菜单项 ,
转到Settinsgs =>技术=>用户界面=>菜单项
搜索所需的菜单名称,打开该记录,然后从调试模式下拉菜单中选择“ 查看元数据 ”。
如何隐藏菜单项:
要隐藏菜单项,最简单的方法是通过创建新组(只有指定的用户可以访问该组),然后在重新定义菜单时将该组分配给菜单项。
使用xml文件创建一个组,必须首先将其添加到 openerp.py中 。
<?xml version="1.0" encoding="utf-8"?> <openerp> <data noupdate="1"> <record id="new_group_id" model="res.groups"> <field name="name">New Group Name</field> <field name="category_id" ref="base.module_category_hidden"/> <field name="users" eval="[(4, ref('base.user_root'))]"/> </record> </data> </openerp>
并创建另一个xml文件,在其中使用该xml代码更新该菜单项。
<record id="account.menu_action_tax_code_tree" model="ir.ui.menu"> <field name="groups_id" eval="[(6, 0, [ref('new_group_id')] )]"/> </record>
另一种方法是从UI执行此操作,将新创建的组直接分配给菜单项。 转到设置= >技术=>用户界面=>菜单项(这是回滚,而升级模块将在其中定义该菜单项)。
如何在现有视图中隐藏字段
要隐藏/添加现有表单中的任何字段,您必须首先继承该视图,并使用xpath或直接字段找到该字段,并分配属性以隐藏该字段。
例:
<record id="new_id" model="ir.ui.view"> <field name="name">New.name</field> <field name="inherit_id" ref="account.invoice_supplier_form" /> <field name="model">account.invoice</field> <field name="arch" type="xml"> <data> <!-- path according to the fields that you want to hide from tree --> <xpath expr="/form/sheet/notebook/page/field[@name='line_cr_ids']/tree/field[@name='account_id']" position="attributes"> <attribute name="invisible">True/1</attribute> </xpath> <field name="tax_line" position="attributes"> <attribute name="invisible">True/1</attribute> </field> </data> </field> </record>