在 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 等于当前登录用户的部门。
输出不准确,没有考虑当前用户的部门和部门打开的情况。
我尝试了多个链接实体,但行为不一致。
在某种情况下,
valueof
属性必须是属性的逻辑名称。它不能是别名。当应在条件中引用链接实体时,必须通过添加 entity
属性来标识它。
此条件将如下所示:
<condition entity="dept" attribute="openedbydepartment" operator="eq" valueof="dss_name" />`
但是,涉及比较两列的条件仅支持属于同一表的列。在您的情况下,属性
openedbydepartment
似乎是实体 incident
的一部分,而 dss_name
似乎属于实体 department
,所以这不起作用。
您可以尝试直接在
incident
和 department
上加入 openedbydepartment
和 dss_name
。