在odoo 11中如何显示没有公司的联系方式,例如:如果在odoo中的 Y公司中的先生X ,则显示此先生和公司: Y, X 。但是我只想要 X 。谢谢
答案 0 :(得分:1)
打开调试模式,在联系人列表视图上,进入“调试”菜单>>“编辑列表视图”
从以下更改
<tree string="Contacts">
<field name="display_name" string="Name"/>
<field name="function" invisible="1"/>
<field name="phone"/>
<field name="email"/>
<field name="user_id" invisible="1"/>
<field name="is_company" invisible="1"/>
<field name="country_id" invisible="1"/>
<field name="parent_id" invisible="1"/>
<field name="active" invisible="1"/>
</tree>
对此
<tree string="Contacts">
<field name="name" string="Name"/>
<field name="function" invisible="1"/>
<field name="phone"/>
<field name="email"/>
<field name="user_id" invisible="1"/>
<field name="is_company" invisible="1"/>
<field name="country_id" invisible="1"/>
<field name="parent_id" invisible="1"/>
<field name="active" invisible="1"/>
</tree>
这只会更改odoo联系人的列表视图名称表示,对于“关系”字段选择名称显示,您必须覆盖 _get_name
class ResPartner(models.Model):
_inherit='res.partner'
def _get_name(self):
""" Utility method to allow name_get to be overrided without re-browse the partner """
partner = self
name = partner.name or ''
if partner.company_name or partner.parent_id:
if not name and partner.type in ['invoice', 'delivery', 'other']:
name = dict(self.fields_get(['type'])['type']['selection'])[partner.type]
#if not partner.is_company:
# name = "%s, %s" % (partner.commercial_company_name or partner.parent_id.name, name)
if self._context.get('show_address_only'):
name = partner._display_address(without_company=True)
if self._context.get('show_address'):
name = name + "\n" + partner._display_address(without_company=True)
name = name.replace('\n\n', '\n')
name = name.replace('\n\n', '\n')
if self._context.get('address_inline'):
name = name.replace('\n', ', ')
if self._context.get('show_email') and partner.email:
name = "%s <%s>" % (name, partner.email)
if self._context.get('html_format'):
name = name.replace('\n', '<br/>')
if self._context.get('show_vat') and partner.vat:
name = "%s ‒ %s" % (name, partner.vat)
return name
答案 1 :(得分:1)
该名称来自在res.partner.py中编写的name_get方法。您需要在自定义模块中扩展该方法,并从联系人名称中删除公司名称作为前缀。