FetchXML获取第二个关系实体

时间:2013-11-14 15:39:09

标签: dynamics-crm-2011 fetchxml

是否可以在视图中显示嵌套链接实体的字段?

我有3个实体:统计信息,帐户和地址。 统计信息具有对帐户的查找,并且帐户具有查找地址。 我想在统计视图中显示所有这些实体的字段。

我试过这个并收到错误:要使用此保存的视图,您必须删除引用已删除或无法搜索的项目的条件和列。

    <savedquery>
        <IsCustomizable>1</IsCustomizable>
        <CanBeDeleted>1</CanBeDeleted>
        <isquickfindquery>0</isquickfindquery>
        <isprivate>0</isprivate>
        <isdefault>0</isdefault>
        <returnedtypecode>10008</returnedtypecode>
        <savedqueryid>{df101ac4-2e4d-e311-9377-005056bd0001}</savedqueryid>
        <layoutxml>
          <grid name="resultset" object="10008" jump="sl_name" select="1" preview="1" icon="1">
            <row name="result" id="sl_statisticsid">
              <cell name="sl_amount" width="100" />
              <cell name="sl_date" width="100" />
              <cell name="sl_debtor" width="100" />
              <cell name="sl_divisioncode" width="100" />
              <cell name="sl_source" width="100" />
              <cell name="sl_statstype" width="100" />
              <cell name="relatedAccount.wl_towncity" width="100"/>
              <cell name="relatedAccount.relatedAddress.wl_city" width="100" />
            </row>
          </grid>
        </layoutxml>
        <querytype>0</querytype>
        <fetchxml>
          <fetch version="1.0" output-format="xml-platform" mapping="logical">
            <entity name="sl_statistics">
              <order attribute="sl_amount" descending="false" />
              <attribute name="sl_statstype" />
              <attribute name="sl_source" />
              <attribute name="sl_divisioncode" />
              <attribute name="sl_debtor" />
              <attribute name="sl_date" />
              <attribute name="sl_amount" />
              <link-entity name="account" from="accountid" to="sl_debtor" alias="relatedAccount">
                <attribute name="wl_towncity" />
                <link-entity name="wl_postalcode" from="wl_postalcodeid" to="wl_postaltowncity" alias="relatedAddress">
                  <attribute name="wl_city" />
                </link-entity>
              </link-entity>
              <attribute name="sl_statisticsid" />
            </entity>
          </fetch>
        </fetchxml>
        <LocalizedNames>
          <LocalizedName description="Statistics and Address" languagecode="1033" />
        </LocalizedNames>
      </savedquery>

如果删除此行,则视图有效:

<cell name="relatedAddress.wi_city" width="100" disableSorting="0" />

有没有人知道如何从GridXML中的嵌套链接实体引用元素?

我也尝试过这个违规行:

<cell name="relatedAccount.relatedAddress.wi_city" width="100" disableSorting="0" />

开始看起来不可能有一个显示来自嵌套链接实体的字段的视图。

3 个答案:

答案 0 :(得分:2)

您可以通过嵌套来访问相关实体的数据

<link-entity>

标记您在发布的代码中执行的操作。您发布的fetchxml有什么问题?您是否收到错误或未收到正确的结果。

答案 1 :(得分:2)

以下是我的FetchXml的一个示例:

<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false" aggregate="true">
  <entity name="new_coursesection">
    <attribute name="new_coursesectionid" groupby="true" alias="id" />
    <filter type="and">
      <condition attribute="new_coursesectionid" operator="eq" value="{0}" />
    </filter>
    <link-entity name="new_contactcoursesection" from="new_coursesectionid" to="new_coursesectionid" alias="new_contactcoursesection1" link-type="outer">
      <attribute name="new_contactcoursesectionid" aggregate="countcolumn" alias="contactcoursesectioncount" />
    </link-entity>
  </entity>
</fetch>

我正在做一个聚合,但你不应该这样做。我会尝试为您的链接实体和属性提供别名。

答案 2 :(得分:2)

据我所知,这是不可能的,但请有人证明我错了。

GridXML的限制似乎是只能包含来自第一个链接实体的属性,而不是任何嵌套的链接实体。