我想在此查询中添加指向实体表的链接:
<fetch version="1.0" >
<entity name="audit" >
<all-attributes/>
</entity>
</fetch>
我尝试使用 ObjectTypeCode 属性但链接到 Product 表,但似乎没有相应的值(Product 的 ObjectTypeCode 为 1024)。
谢谢您的帮助。
我想在此查询中添加指向实体表的链接:
<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
. _ 阅读更多
您可以使用 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'
非常有趣的部分$filter=objecttypecode eq 'account'
在上面的 web api 查询中。我不知道这甚至是如何工作的。这在 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 是对正在审计的记录的查找。供参考
如果您想要查看审核记录的前后值,则可能需要使用WebApi中的RetrieveRecordChangeHistory函数