MS CRM查找字段搜索筛选:同时显示指定Contact与Account
嘿,这个问题我之前在CRM项目里刚好处理过!要让搜索结果同时带出customertypecode=1的个人Contact和所有Account,得从CRM的多实体搜索配置入手,给你几个靠谱的方案:
方案1:配置自定义多实体快速查找
CRM默认的快速查找大多是单实体的,咱们可以建一个支持双实体的快速查找配置:
- 进入高级设置 > 自定义 > 自定义系统
- 先处理Contact实体:在左侧实体列表找到Contact,打开它的快速查找视图,编辑筛选条件,添加规则
customertypecode = 1(确保只显示个人类型的联系人),保存并发布这个视图 - 再确认Account实体:找到Account实体的快速查找视图,默认就是显示所有记录,不用额外修改
- 创建多实体查找:在自定义系统界面的左侧导航找到多实体快速查找,点击新建:
- 给这个查找起个直观的名字,比如「个人客户+企业客户联合搜索」
- 在实体标签页,添加Contact和Account两个实体
- 为每个实体选择对应的快速查找视图(Contact选刚才改好的带筛选的视图,Account选默认视图)
- 保存并发布这个多实体查找配置
- 之后在全局搜索的下拉选项里,选择你新建的这个多实体查找,就能同时搜到符合条件的个人Contact和所有Account了
方案2:用FetchXML写联合查询
如果需要更灵活的控制(比如嵌入到报表、表单或者自定义页面),可以直接写FetchXML的联合查询:
<fetch mapping="logical" distinct="false"> <entity name="contact"> <attribute name="fullname" /> <attribute name="emailaddress1" /> <attribute name="telephone1" /> <filter type="and"> <condition attribute="customertypecode" operator="eq" value="1" /> </filter> </entity> <entity name="account"> <attribute name="name" /> <attribute name="emailaddress1" /> <attribute name="telephone1" /> </entity> </fetch>
- 你可以把这段代码导入到高级查找里:打开高级查找,先随便选个实体,点击下载FetchXML,把内容替换成上面的代码,再点击上传FetchXML,就能得到合并后的结果集
- 注意:两个实体返回的字段尽量保持对应(比如都选名称、邮箱、电话这类共通字段),不然结果列会显示混乱
方案3:自定义混合视图(复杂场景备选)
如果是要在特定子网格或表单里固定显示这个合并结果,可能需要借助插件或者Power Automate把符合条件的记录同步到一个中间实体,再基于这个实体建视图。不过这个方法相对繁琐,一般前两个方案就能解决大部分需求了
最后提醒下:所有配置完成后,一定要发布所有自定义项,不然新的配置不会生效哦!
内容的提问来源于stack exchange,提问作者aghaux
相关产品推荐
相关产品推荐

