如何使用 FetchXML 获取审计记录详细信息

How to get audit record details using FetchXML

使用此查询无法在线检索 Microsoft Dynamics CRM 中的审计记录

<fetch version="1.0" >
  <entity name="audit" >
    <all-attributes/>
  </entity>
</fetch>

但这缺少有关操作中发生的事情的信息,更具体地说,列的 old valuenew value 已更改。当我在常规界面的设置中使用审核工具时会显示此数据,因此数据存在。有谁知道如何获取它?我还缺少另一个实体吗?

审核记录只跟踪旧值。因此,当一个属性被修改时,只有它的旧值被存储在审计中 table.

必须通过从活动实体记录中获取新值或(当值被多次修改时)通过获取该实体的后续审计记录的旧值来派生新值。可以在 Audit 实体的 ChangeData 字段中找到旧值。

直接使用 Audit 实体重建实体历史需要大量工作,在大多数情况下是没有必要的。相反,您可以使用 RetrieveRecordChangeHistoryRequest。对应的 RetrieveRecordChangeHistoryResponse 有一个 AuditDetail 集合。集合中 AttributeAuditDetail 类型的项目包含 OldValueNewValue 属性,为您提供所需的信息。