Dynamics 365 升级到9.0版本后,增强了高级查找中相关实体1;N关系的不包含数据的查询
这个功能虽然不太起眼,但是确实很多人期盼已久的。
先来看下之前版本的高级查找,我以Accouts为示例,选择查询的相关实体是Opportunity,目前的功能只支持accounts下有Opportunity 记录,例如Opp created on是哪天,而并不支持查找哪些account下没有opp记录的。
在9.0版本在Advance Find中对关联entity 增加了Condition设置,如图
当我选择Contains Data 时候,表示有Opportunity的Account,和原来功能一样
当我选择Does Not Contain Data 时候,会给出提示,会删除已有的condition(当前的condition是基于包含数据的条件下的)
无法再添加其他条件了
最后下载Fetch Xml 看一下
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true">
<entity name="account">
<attribute name="name" />
<attribute name="primarycontactid" />
<attribute name="telephone1" />
<attribute name="accountid" />
<order attribute="name" descending="false" />
<link-entity name="opportunity" from="customerid" to="accountid" link-type="outer" alias="ab" />
<filter type="and">
<condition entityname="ab" attribute="customerid" operator="null" />
</filter>
</entity>
</fetch>