我正在研究会计和财务模块,我想做一些修改,比如隐藏字段和隐藏税收图表。你能帮助我吗?
请告诉我隐藏左侧菜单项目(税收图表)的程序。
另外,我想知道view_id
隐藏发票表和税后税(更新)的税。
请让我知道隐藏它们的外部ID我无法找到它们,因为它们与其他一些模型相关联。
发票/税收字段:
field_id:tax_id
对象:
type:many2many
relation:account.tax
答案 0 :(得分:5)
首先激活 Odoo开发者模式,这样您就可以轻松获取任何对象的外部ID。
如何知道任何对象的外部ID
打开该表单,只有开发者模式处于活动状态时,您才能在页面顶部看到一个下拉字段。
并选择选项"编辑表单视图"从下拉列表中,您可以看到该表单视图的详细信息,如模型名称,该视图的外部ID等等。
如果要继承此表单,请使用此表单的" account.invoice_supplier_form" 外部ID,请参阅此图片。
了解菜单项的外部ID ,
转到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执行此操作,直接将新创建的组分配给菜单项 转到设置=&gt;技术=&gt;用户界面=&gt;菜单项(当模块将升级时,该菜单项定义了它的回滚。)
如何隐藏现有视图中的字段
要隐藏/添加现有表单中的任何字段,您必须首先继承该视图,然后使用xpath或direct字段查找该字段,并指定属性以隐藏该字段。
示例:强>
<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>