Dynamics crm 如何使用FetchXML获取审核记录详细信息

Dynamics crm 如何使用FetchXML获取审核记录详细信息,dynamics-crm,fetchxml,Dynamics Crm,Fetchxml,使用此查询,我可以在Microsoft Dynamics CRM online中检索审核记录 <fetch version="1.0" > <entity name="audit" > <all-attributes/> </entity> </fetch> 但这缺少关于操作中发生了什么的信息,更具体地说是列的旧值和新值。当我在常规界面的设置中使用审核工具时,会显示此数据,因此数据是存在的。有人知道怎么取吗?是否缺

使用此查询,我可以在Microsoft Dynamics CRM online中检索审核记录

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


但这缺少关于操作中发生了什么的信息,更具体地说是列的
旧值
新值
。当我在常规界面的设置中使用审核工具时,会显示此数据,因此数据是存在的。有人知道怎么取吗?是否缺少另一个实体?

审核记录仅跟踪旧值。因此,当修改属性时,只有其旧值存储在审核表中

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


直接使用审计实体重建实体历史将需要大量工作,并且在大多数情况下没有必要。相反,您可以使用
检索器RecordChangeHistoryRequest
。相应的
检索器RecordChangeHistoryResponse
有一个
AuditDetail
集合。集合中类型为
AttributeAuditDetail
的项包含
OldValue
NewValue
属性,为您提供所需的信息。

好的,这很有意义,您知道如何获取旧值吗?似乎没有为它写专栏。数据与操作的关系大于实际内容旧值位于
ChangeData
字段中,但您可能更喜欢使用
RetrieveRecordChangeHistoryRequest
。我扩展了我的答案。这听起来像是c#函数,但一些谷歌显示我也可以通过JavaScript进行这些调用,谢谢你告诉我这个方向。请求响应对象是CRM web服务数据契约的一部分,但是是的,它们在.NET世界中最常用。很高兴我能帮忙。