如何解决如何在 Dynamics 365 Customer Engagement 中使用 FetchXML 将审计表连接到实体表
<fetch version="1.0" >
<entity name="audit" >
<all-attributes/>
</entity>
</fetch>
我尝试使用 ObjectTypeCode 属性但链接到 Product 表,但似乎没有对应的值(Product 的 ObjectTypeCode 为 1024)。
感谢您的帮助。
解决方法
很遗憾,您不能像使用 audit
表那样连接相关表。此外,查询可能需要 UNION 基于 objecttypecode
与不同的表连接。 FetchXML 不支持 UNION。
audit
表有点棘手,它与任何其他实体不同 - 因为某些数据存储在 changedata
等列中的非规范化和分隔符分隔值中。此外,audit
和除 systemuser
以外的其他表之间不保持关系。 Read more
您可以使用 XrmToolBox FetchXML 构建器来处理审计表并观察它们。
审计实体的 Web api 端点如下:
https://crmdev.crm.dynamics.com/api/data/v9.2/audits?$top=50&$select=_objectid_value,attributemask,operation,transactionid,useradditionalinfo,createdon,_userid_value,_regardingobjectid_value,objecttypecode,action,auditid,_callinguserid_value&$filter=objecttypecode eq 'account'
上面 web api 查询中非常有趣的部分是 $filter=objecttypecode eq 'account'
。我不知道这甚至是如何工作的。这在 web api 和 fetchxml 之间是矛盾的。
objecttypecode 是该审核记录的实体标识符,应在您的 <filter>
部分使用。如果您想要绑定并显示有关相关实体的信息,您需要知道该实体是从哪里绑定的。它不会显示之前和之后的值,它只是指向现有记录的链接。
例如:
<link-entity name="product" from="productid" to="objectid" >
<attribute name="attributenametoshow" />
<filter>
<condition attribute="attributenametofilter" operator="" value="" />
</filter>
</link-entity>
对象 ID 是对正在审核的记录的查找。对于reference
如果您想查看审核记录的前后值,您可能需要使用 WebApi 中的 RetrieveRecordChangeHistory 函数
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。