Как получить детали записи аудита с помощью FetchXML

Используя этот запрос, я могу получить записи аудита в Microsoft Dynamics CRM онлайн.

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

Но здесь отсутствует информация о том, что произошло во время операции, а точнее, old value и new value столбца изменились. Эти данные отображаются, когда я использую инструмент аудита в настройках обычного интерфейса, поэтому данные присутствуют. Кто-нибудь знает, как его достать? Есть ли еще одна сущность, которую я пропал?


person BobbyTables    schedule 18.08.2015    source источник


Ответы (1)


В записях аудита отслеживаются только старые значения. Таким образом, при изменении атрибута в таблице аудита сохраняется только его старое значение.

Новое значение должно быть получено либо путем получения его из записи действующего объекта, либо (когда значение было изменено несколько раз) путем получения старого значения из последующей записи аудита для этого объекта. Старое значение можно найти в поле ChangeData объекта Audit.

Восстановление истории сущности с использованием сущности аудита напрямую потребует много работы и в большинстве сценариев не требуется. Вместо этого вы можете использовать RetrieveRecordChangeHistoryRequest. Соответствующий RetrieveRecordChangeHistoryResponse имеет коллекцию AuditDetail. Элементы коллекции типа AttributeAuditDetail содержат свойства OldValue и NewValue, дающие вам необходимую информацию.

person Henk van Boeijen    schedule 18.08.2015
comment
хорошо, это имеет смысл, есть идеи, как получить старое значение? для этого, кажется, нет колонки. Данные больше связаны с операциями, чем с фактическим содержанием. - person BobbyTables; 18.08.2015
comment
Старое значение находится в поле ChangeData, но вы можете предпочесть вместо него RetrieveRecordChangeHistoryRequest. Я расширил свой ответ. - person Henk van Boeijen; 18.08.2015
comment
все это звучит как функции C #, но некоторые поисковые запросы показывают, что я тоже могу выполнять эти вызовы через JavaScript, спасибо, что указали мне в этом направлении - person BobbyTables; 18.08.2015
comment
Request en Response Объекты являются частью контракта данных веб-службы CRM, но да, они наиболее часто используются в мире .NET. Рад, что смог помочь. - person Henk van Boeijen; 18.08.2015