如何在OpenERP中过滤合作伙伴的联系人?

1 投票
1 回答
2347 浏览
提问于 2025-04-18 12:19

我想添加一个合作伙伴的联系人,并且应该根据合作伙伴来筛选客户的联系人。

我在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

撰写回答