簡體   English   中英

Dynamics CRM 2013:審核日志具有“空白”記錄

[英]Dynamics CRM 2013: Audit logs have “blank” records

在一個自定義實體上,我啟用了一個字段進行審核,這似乎運行良好。 但是,有許多審核記錄已更改日期,更改了(用戶帳戶和服務帳戶)以及更新事件,但空白字段,舊值和新值列已更改。 打開這些“空白”記錄之一將顯示標題中給出的消息。 記錄中的示例

並且,當您打開其中一個時,您看到的是沒有表,但語句“此操作更改的字段未啟用審核跟蹤”。

是的,我知道。 除一個字段外,所有字段均未啟用審核跟蹤。 顯然,這些是由插件或工作流生成的事件。

為什么給我這些東西,我如何停止呢?

為什么給我這些

因為這些字段正在更新。 如您所述,這很可能是由插件或工作流程引起的。

插件在忘記實例化新Entity並僅賦予其必要屬性以進行更新時,常常會錯誤地更新字段:

實例化一個新實體

var smallEntity = new Entity { Id = new Guid("entityId"), LogicalName = "entityName" };
smallEntity["firstname"] = "newName";
...
service.Update(smallEntity);

不必要地更新所有字段

var bigEntity = service.Retrieve(new Guid("entityId"), "entityName", new ColumnSet(true));
bigEntity["firstname"] = "newName";
...
service.Update(bigEntity);

smallEntity僅包含一個屬性。 調用Update ,審核歷史記錄將僅顯示一個字段為已更新。

bigEntity包含每個單獨的實體屬性,因為它是使用new ColumnSet(true)檢索的。 調用Update ,即使實際上只有"firstname"已更改,審核歷史記錄也會將所有字段顯示為已更新。

我如何使其停止?

一種選擇是過濾審核歷史記錄視圖以僅顯示您感興趣的字段:

在此處輸入圖片說明

可以在三個級別啟用審核,即組織,實體和屬性級別。

系統將開始收集所有已啟用審計的屬性值,以捕獲舊值和新值(不是當前值)。

您在插件/工作流程中的顯式更新啟動了對實體的審核,但是在此類服務更新上更新的屬性不符合(可能是不變的值)進行價值捕獲的條件。

如果您還在數據庫中看到審計表,則該行將為空,帶有〜和(沒有列名和存儲的舊/新值)

您不能停止收集這些內容,但是可以通過對所有字段啟用審核並確定插件步驟來查找字段。 然后啟動像Dave提到的實體對象並避免這種情況。

更新 :是100%正確。 當我關聯查詢(未啟用審核)時,這發生在我身上

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM