2

我是 openerp 的新手。我想向继承的自定义模块添加新字段,同时我想删除新创建的自定义模块中不需要的字段。我想添加一些详细信息,如母名和父名,并且我想隐藏不需要的职位和网站等详细信息。谁能告诉我。提前致谢

我的代码:

初始化.py

import lead

开放程序.py

{
'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
}

铅.py

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)
   }

铅视图.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>
4

2 回答 2

2

如果您想删除任何字段而不是使用此字段,

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

您可以删除来​​自父视图的字段。这是正确的方法。

您可以在 position 属性中使用这些值:

  • inside(默认):您的值将附加在标签内

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

  • before:在标签之前添加内容

  • replace:替换标签的内容。

有关更多详细信息 - http://openerp-server.readthedocs.org/en/latest/03_module_dev_03.html 希望这对您有所帮助。

于 2014-01-29T10:16:03.343 回答
1

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

我的代码

铅视图.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">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>

铅.py

from osv import osv
from osv import fields

class res_partner(osv.osv):
 _inherit = "res.partner"
 _description = "adding fields to res.partner"
 _columns = { 
    'mothername': fields.char('Mother Name',size=64,required=True),
    'fathername': fields.char('Father Name',size=64,required=True)
 }
于 2014-01-29T12:25:53.310 回答