You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Web API筛选Activityparties表中关联systemuser的记录?

解决Dynamics 365 CRM仅筛选关联系统用户的必填参会者问题

你原来用partyid_systemuser ne null做筛选没用,核心原因是activityparty表的partyid是多态查找字段——它可以关联系统用户、客户、联系人等多种实体,直接判断导航属性是否为空的方式在OData查询里没法精准过滤关联类型。

正确的做法是利用多态字段对应的类型标识字段partyidtype来筛选:systemuser(系统用户)的实体类型代码固定为8,在筛选条件里加上partyidtype eq 8,就能精准限定仅返回关联系统用户的记录。

修改后的完整查询代码如下:

OData.Feed("https://ar.api.crm4.dynamics.com/api/data/v9.2/" &
        "activityparties?" & 
        "$select=_activityid_value, participationtypemask, _partyid_value, partyidtype&" &
        "$expand=
            partyid_systemuser($select=_amo_teamcompanynumber_value)&" &
        "$filter= participationtypemask eq 5 and partyidtype eq 8", 
        null, [Implementation="2.0", IncludeAnnotations="*"]),

补充说明:如果需要确认其他实体的类型代码,可通过Dynamics 365的EntityDefinitions元数据端点查询,但systemuser的类型代码是固定值8,直接使用即可。

内容的提问来源于stack exchange,提问作者Luís Rodrigues

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 13:16:15