在Openerp的自定义模块中添加新字段并隐藏不需要的文件

在Openerp的自定义模块中添加新字段并隐藏不需要的文件,openerp,openerp-7,Openerp,Openerp 7,我是openerp新手。我想在继承的自定义模块中添加新字段,同时删除新创建的自定义模块中不需要的字段。我想添加一些详细信息,如母亲姓名和父亲姓名,还想隐藏不需要的详细信息,如工作职位和网站。有人能告诉我吗。 提前谢谢 我的代码: init.py import lead { 'name': 'Lead Information', 'version': '0.1', 'category': 'Tools', 'description': """This module is Lead informa

我是openerp新手。我想在继承的自定义模块中添加新字段,同时删除新创建的自定义模块中不需要的字段。我想添加一些详细信息,如母亲姓名和父亲姓名,还想隐藏不需要的详细信息,如工作职位和网站。有人能告诉我吗。 提前谢谢

我的代码:

init.py

import lead
{
'name': 'Lead Information',
'version': '0.1',
'category': 'Tools',
'description': """This module is Lead information.""",
'author': 'Nitesh',
'website': '',
'depends': ['base'],
'init_xml': ['lead_view.xml'],
'update_xml': [],
'demo_xml': [],
'installable': True,
'active': True,
'application': True
}
openerp.py

import lead
{
'name': 'Lead Information',
'version': '0.1',
'category': 'Tools',
'description': """This module is Lead information.""",
'author': 'Nitesh',
'website': '',
'depends': ['base'],
'init_xml': ['lead_view.xml'],
'update_xml': [],
'demo_xml': [],
'installable': True,
'active': True,
'application': True
}
铅皮

from osv import osv
from osv import fields

class cus(osv.osv):
 _name = "lead.partner"
 _inherit = "res.partner"
 _description = "This table is for keeping lead data"
 _columns = {
    'mothername': fields.char('Mother Name',size=10,required=True)
   }
lead_view.xml

<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- ===================== This is tree layout =============================-->
<record id="lead_tree" model="ir.ui.view">
        <field name="name">Lead</field>
        <field name="model">lead.partner</field>
        <field name="arch" type="xml">
            <field name="mothername"/> 
            <field name="website"  position="attributes"><!--removed / from the end-->
                <attribute name="invisible">True</attribute>
            </field>
        </field>
    </record>

<!-- ========================This is Form layout===============================-->
    <record id="lead_form" model="ir.ui.view">
        <field name="name">Lead</field>
        <field name="model">lead.partner</field>
        <field name="arch" type="xml">
            <field name="mothername"/>
            <field name="function"  position="attributes"><!--removed / from the end-->
                <attribute name="invisible">True</attribute>
            </field>

       </field>
    </record>

<!-- ========================= Action Layout ============================= -->
    <record id="action_lead" model="ir.actions.act_window">
        <field name="name">Lead</field>
        <field name="type">ir.actions.act_window</field>
        <field name="res_model">res.partner</field>
        <field name="view_type">form</field>
        <field name="view_mode">tree,form</field>
        <field name="view_id" ref="lead_tree"/>
    </record>
       <!-- ===========================Menu Settings=========================== -->
    <menuitem name = "Lead" id = "menu_lis_lab" action="action_lead"/>

</data>
</openerp>
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- ===================== This is tree layout =============================-->
<record id="lead_tree" model="ir.ui.view">
        <field name="name">Lead</field>
        <field name="model">res.partner</field>
        <field name="arch" type="xml">
            <tree string="lead">
                <field name = "name"/>
            </tree>
        </field>
    </record>

<!-- ========================This is Form layout===============================-->
    <record id="view_res_partner_inherited" model="ir.ui.view">
        <field name="name">view.res.partner.inherited</field>
        <field name="model">res.partner</field>
        <field name="inherit_id" ref="base.view_partner_form" />
        <field name="arch" type="xml">
            <data>
                <field name="website" position="replace"/>
                <field name="function" position="after">
                    <field name="mothername"/>
                    <field name="fathername"/>
                </field>
            </data>    
        </field>
    </record>

<!-- ========================= Action Layout ============================= -->
    <record id="action_lead" model="ir.actions.act_window">
        <field name="name">Lead</field>
        <field name="type">ir.actions.act_window</field>
        <field name="res_model">res.partner</field>
        <field name="view_type">form</field>
        <field name="view_mode">tree,form</field>
        <field name="view_id" ref="lead_tree"/>
    </record>
       <!-- ===========================Menu Settings=========================== -->
    <menuitem name = "Lead" id = "menu_lis_lab" action="action_lead"/>

</data>
</openerp>

领导
首席合伙人
真的
领导
首席合伙人
真的
领导
ir.actions.act\u窗口
合伙人
形式
树

如果要删除任何字段,请使用此选项

<field name="website"  position="replace"/>

可以从父视图中删除字段。这是正确的方法

可以在“位置”属性中使用这些值:

  • 内部(默认):您的值将附加到标记内部

  • after:在标记后面添加内容

  • before:将内容添加到标记之前

  • 替换:替换标记的内容

有关更多详情,请参阅:
希望这将对您有所帮助。

首先在*.py文件中添加创建字段并升级自定义模块,然后在*.xml中添加字段并再次升级模块,它将工作得非常好。现在我可以在自定义模块中添加字段并隐藏不需要的字段 例句:我想在“工作职位”下面添加母亲姓名和父亲姓名,并隐藏网站字段 以下是工作代码

我的代码

lead_view.xml

<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- ===================== This is tree layout =============================-->
<record id="lead_tree" model="ir.ui.view">
        <field name="name">Lead</field>
        <field name="model">lead.partner</field>
        <field name="arch" type="xml">
            <field name="mothername"/> 
            <field name="website"  position="attributes"><!--removed / from the end-->
                <attribute name="invisible">True</attribute>
            </field>
        </field>
    </record>

<!-- ========================This is Form layout===============================-->
    <record id="lead_form" model="ir.ui.view">
        <field name="name">Lead</field>
        <field name="model">lead.partner</field>
        <field name="arch" type="xml">
            <field name="mothername"/>
            <field name="function"  position="attributes"><!--removed / from the end-->
                <attribute name="invisible">True</attribute>
            </field>

       </field>
    </record>

<!-- ========================= Action Layout ============================= -->
    <record id="action_lead" model="ir.actions.act_window">
        <field name="name">Lead</field>
        <field name="type">ir.actions.act_window</field>
        <field name="res_model">res.partner</field>
        <field name="view_type">form</field>
        <field name="view_mode">tree,form</field>
        <field name="view_id" ref="lead_tree"/>
    </record>
       <!-- ===========================Menu Settings=========================== -->
    <menuitem name = "Lead" id = "menu_lis_lab" action="action_lead"/>

</data>
</openerp>
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- ===================== This is tree layout =============================-->
<record id="lead_tree" model="ir.ui.view">
        <field name="name">Lead</field>
        <field name="model">res.partner</field>
        <field name="arch" type="xml">
            <tree string="lead">
                <field name = "name"/>
            </tree>
        </field>
    </record>

<!-- ========================This is Form layout===============================-->
    <record id="view_res_partner_inherited" model="ir.ui.view">
        <field name="name">view.res.partner.inherited</field>
        <field name="model">res.partner</field>
        <field name="inherit_id" ref="base.view_partner_form" />
        <field name="arch" type="xml">
            <data>
                <field name="website" position="replace"/>
                <field name="function" position="after">
                    <field name="mothername"/>
                    <field name="fathername"/>
                </field>
            </data>    
        </field>
    </record>

<!-- ========================= Action Layout ============================= -->
    <record id="action_lead" model="ir.actions.act_window">
        <field name="name">Lead</field>
        <field name="type">ir.actions.act_window</field>
        <field name="res_model">res.partner</field>
        <field name="view_type">form</field>
        <field name="view_mode">tree,form</field>
        <field name="view_id" ref="lead_tree"/>
    </record>
       <!-- ===========================Menu Settings=========================== -->
    <menuitem name = "Lead" id = "menu_lis_lab" action="action_lead"/>

</data>
</openerp>

还有一件事,若您要为model lead.partner定义树视图和表单视图,那个么您必须在act_窗口中使用相同的模型。因此,正确的做法应该是lead.partner而不是res.partner。最好将您的视图id引用为“lead\u form”,这是您的表单ViewMansi。这非常有用。如果我继承res.partner,请告诉我谁可以将新字段添加到自定义模块中您想通过继承将字段添加到res.partner本身中吗?如果是这样,那么类res_partner(osv.osv):\u inherit=“res.partner”\u description=“向res.partner添加字段”\u columns={'mothername':fields.char('mothername',size=10,required=True)}res_patner()我得到以下错误“除了表单:('ValidateError',u'验证字段时出错)arch:视图体系结构的XML无效!”)“您还必须在视图中设置res.partner。您的错误将得到解决。如果您定义了_namefield _inheritfield,将创建一个新对象。因此,您必须创建一个新视图。我的意思是,您不能继承现有视图