如何在OpenERP中过滤合作伙伴的联系人?
我想添加一个合作伙伴的联系人,并且应该根据合作伙伴来筛选客户的联系人。
我在xml中用了这个,但什么也没得到。
<field name="partner_contact_id" context="{'group_by':'partner_id'}"/>
而且我的字段就像所有字段一样。
'partner_contact_id': fields.many2one('res.partner', 'Contact Person'),
_defaults = {
'partner_contact_id': lambda self, cr, uid, context: context.get('partner_id', False) and self.pool.get('res.partner').address_get(cr, uid, [context['partner_id']], ['invoice'])['invoice'],
}
我尝试用不同的地址来获取特定合作伙伴的信息。
1 个回答
2
域属性用于过滤记录。你可以试试这个:
<field name="partner_contact_id" domain="[('parent_id', '=', partner_id)]" />
这段代码只会显示与partner_id
中指定的公司相关的联系人。如果你想在更改公司时清空联系人字段,可以把伙伴字段替换成这个(查看xml):
<field name="partner_id" on_change="onchange_partner_id(partner_id, context)" ...your other attributes.../>
然后在你的自定义模型中重写onchange方法,像这样:
def onchange_partner_id(self, cr, uid, ids, part, context=None):
res = super(MyCustomModel, self).onchange_partner_id(cr, uid, ids, part, context)
res['value'].update({'partner_contact_id': False})
return res