我需要创建一个 fetchxml 来检索部门正在打开用户的(用户配置文件 ->)部门的案例

问题描述 投票:0回答:1

在 D365 上,我必须创建一个视图“由用户部门创建”。在用户和案例上,我们有部门查找。

<fetch>
  <entity name="incident">
    <attribute name="ticketnumber" />
    <attribute name="title" />
    <attribute name="department" />
    <attribute name="prioritycode" />
    <attribute name="caseorigincode" />
    <attribute name="customerid" />
    <attribute name="statuscode" />
    <link-entity name="systemuser" from="systemuserid" to="ownerid" link-type="inner" alias="user">
      <attribute name="department" />
      <link-entity name="department" from="departmentid" to="department" alias="dept">
        <attribute name="name" />
      </link-entity>
    </link-entity>
    <filter type="and">
      <condition attribute="statecode" operator="eq" value="0" />
      <condition attribute="openedbydepartment" operator="eq" valueof="dept.dss_name" />
    </filter>
    <attribute name="ownerid" />
    <attribute name="incidentid" />
  </entity>
</fetch>

我尝试了这个 fetchxml,我试图获取当前用户的“部门”和 从另一个类似实体 name="department" 获取部门名称

在创建案例时,我有一个由部门打开的字段,该字段会由用户创建的部门(文本)自动更新。

我正在尝试按openedbydepartment 进行过滤,其中openedbydepartment 等于当前登录用户的部门。

输出不准确,没有考虑当前用户的部门和部门打开的情况。

我尝试了多个链接实体,但行为不一致。

view dynamics-crm dynamics-365 fetchxml
1个回答
0
投票

在某种情况下,

valueof
属性必须是属性的逻辑名称。它不能是别名。当应在条件中引用链接实体时,必须通过添加
entity
属性来标识它。

此条件将如下所示:

<condition entity="dept" attribute="openedbydepartment" operator="eq" valueof="dss_name" />`

但是,涉及比较两列的条件仅支持属于同一表的列。在您的情况下,属性

openedbydepartment
似乎是实体
incident
的一部分,而
dss_name
似乎属于实体
department
,所以这不起作用。

您可以尝试直接在

incident
department
上加入
openedbydepartment
dss_name

© www.soinside.com 2019 - 2024. All rights reserved.