Dynamics CRM 2013:高级查找FetchXML包含额外字段 - 为什么?

时间:2015-03-24 05:46:10

标签: dynamics-crm-2011 dynamics-crm dynamics-crm-2013 microsoft-dynamics

我有两个(相关的)问题:

我在使用高级查找功能时遇到了一个令人费解的问题。我在条件和显示部分设置了我需要的字段,然后点击“下载Fetchxml”。我最终得到的是我从未要求的领域。例如,在我的高级查找中,我要求所有活动。我更改了结果,只显示创建日期,活动类型,主题和关注字段。 (截断的)生成的fetchXML如下所示:

<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
<entity name="activitypointer">
<attribute name="activitytypecode" />
<attribute name="subject" />
<attribute name="activityid" />
<attribute name="instancetypecode" />
<attribute name="community" />
<attribute name="createdon" />
<attribute name="regardingobjectid" />
<order attribute="subject" descending="false" />

为什么要包含这些额外的列?例如,我没有在任何地方要求“社区”属性。

第二个问题: 什么决定了字段的输出顺序?我通过Fetch Tester 3000运行了上面的fetchXML(保存了我的生命 - 谢谢!),输出表与xml中属性的顺序无关。当我在别处使用fetchXML时也是如此。

提前感谢您的意见

1 个答案:

答案 0 :(得分:1)

按钮Download Fetch XML返回的FetchXML是在内部生成的,在某些情况下它返回额外的列(如您所见),例如,实体的主键字段总是被添加。

如果删除其他属性,则FetchXML仍然有效且可以执行。

关于顺序,您使用的工具(Fetch Tester 3000)显示按其逻辑名排序的表视图内的字段,在Dynamics CRM中,使用已知的另一个XML定义定义属性(子网格和高级查找结果)的顺序作为LayoutXML