分享方式:


管理自動儲存

 

發佈日期: 2016年7月

適用對象: Dynamics CRM 2015

自動儲存協助人員專注於其工作,而不必管理儲存表單上的資料。 大多數人會對每次更新記錄時不必明確保存資料大加讚賞,不過,某些組織可能有設計必須明確儲存的自訂。 對於這些組織,可以選擇管理如何套用自動儲存。

本主題內容

自動儲存的運作方式

您是否應該停用自動儲存?

停用組織的自動儲存

對表單停用自動儲存

自動儲存的運作方式

根據預設,更新的實體的所有主要表單會啟用自動儲存。 在記錄建立 (最初儲存) 後,表單的任何變更將在變更後的 30 秒自動儲存。 如果表單中並未變更,當表單開啟時不會發生自動儲存。 在變更後,自動儲存前 30 秒期間重新開始。 人員正在編輯的欄位不包含在自動儲存中。 當您編輯時,如果其他人更新了同一筆記錄,這些變更將會在自動儲存時擷取並顯示在表單中。

已啟用自動儲存時,儲存按鈕只針對記錄初始儲存時才會出現。 在記錄建立後,在命令列上的儲存按鈕不會顯示,但是,如果有任何未儲存的變更,您可以在右下角看到 自動儲存按鈕 按鈕。 如果自動儲存已停用,這個控制項也會顯示。

您可以按一下這個按鈕,儲存記錄並立即重新整理表單中的資料。 若已啟用自動儲存,每當您離開記錄或關閉顯示記錄的另一個視窗,記錄都會被儲存。 對於未更新的實體,不需要出現在表單中的 [儲存後關閉] 按鈕。

您是否應該停用自動儲存?

如果您有在記錄儲存時執行的外掛程式、工作流程或表單指令碼,它們會在發生自動儲存時執行。 如果這些擴充功能未設計成配合自動儲存使用,這可能會造成非預期的行為。 不論自動儲存是否啟用,外掛程式、工作流程和表單指令碼都應該設計為尋找特定變更,不應該於每個儲存事件不區別地執行。

如果您有針對實體設定的稽核,每一次儲存被視為個別的更新。 如果有人在有未儲存的變更的表單持續超過 30 秒,只有在自動儲存執行之後加入更多資料,您才會看到其他項目。 如果您有依賴稽核資料並將每次儲存視為記錄個別編輯 (“touch”) 的報表,可能會看到記錄編輯頻率的增量。 如果您使用這種方法,不論自動儲存是否啟用,您應該考慮個別使用者的行為方式讓它成為不可靠的度量。

停用組織的自動儲存

如果您判斷自動儲存將會對使用的任何擴充功能造成問題,您可以對您的組織停用它。 沒有為個別實體或表單停用自動儲存的設定。

  1. 移至 [設定] > [管理]。

  2. 選擇 [系統設定]。

  3. 對於 [對所有表單啟用自動儲存] 選項,選取 []。

對表單停用自動儲存

如果您要對特定實體表單停用自動儲存,您可以將程式碼新增至實體中的 OnSave 事件。

備註

已停用表單的自動儲存功能,不過,當您按一下右下角的 自動儲存按鈕 按鈕時,仍然會儲存資料。 如果您嘗試離開或關閉已變更資料的表單,系統會提示您儲存變更,然後才能離開或關閉表單。

  1. 選擇導覽列上的 [Microsoft Dynamics CRM] > [設定]。

    設定便會出現在導覽列上。

  2. 移至 [設定] > [自訂]。

  3. 選擇 [自訂系統]。

  4. 在 [元件] 底下,展開 [實體],然後找到實體表單。

  5. 展開實體節點並選擇 [表單]。

  6. 開啟您要編輯的表單。

  7. 建立 JavaScript Web 資源並將它加入至表單

    1. 在表單編輯器中,在 [表單] 群組中選擇 [表單屬性]。

    2. 在 [事件] 索引標籤上,在 [表單程式庫] 中選擇 [新增]。

    3. 在 [查詢記錄] 對話方塊中,選擇 [新增]。

    4. 在 Web 資源表單中輸入下列資訊:

      名稱

      preventAutoSave

      顯示名稱

      防止自動儲存

      Type

      指令碼 (JScript)

    5. 在 [類型] 欄位旁,選擇 [文字編輯器]。

    6. 在 [來源] 欄位中,貼上下列程式碼:

      function preventAutoSave(econtext) {
          var eventArgs = econtext.getEventArgs();
          if (eventArgs.getSaveMode() == 70 || eventArgs.getSaveMode() == 2) {
              eventArgs.preventDefault();
          }
      }
      
    7. 選擇 [確定],關閉文字編輯器。

    8. 選擇 [儲存],儲存 Web 資源,然後關閉 Web 資源視窗。

    9. 您建立的新 Web 資源在 [查詢記錄] 對話方塊中已選取。 選擇 [新增] 關閉對話方塊。

  8. 設定 OnSave 事件

    1. 在 [表單屬性] 視窗中的 [事件處理常式] 區段,將 [事件] 設定為 [OnSave]。

    2. 按一下 [新增]。

    3. 在 [處理常式屬性] 視窗中,將 [程式庫] 設定為您在上一個步驟中加入的 Web 資源。

    4. 在 [函數] 欄位中,輸入 ‘preventAutoSave’。 這個值區分大小寫。 不要包含引號。

    5. 確定已勾選 [已啟用]。

    6. 勾選 [傳送執行內容做為第一個參數]。

      重要

      如果不這樣做,指令碼無法運作。

      [處理常式屬性] 對話方塊如下所示: 自訂首碼:「new_」可能會因為您組織之預設發行者設定的自訂首碼而改變。

      OnSave 事件處理常式,防止 CRM 中自動儲存

    7. 按一下 [確定] 關閉 [處理常式屬性] 對話方塊。

    8. 如果有 OnSave 事件的其他事件處理常式,請使用綠色箭號將這個事件處理常式移至頂端。

  9. 按一下 [確定] 關閉 [表單屬性] 對話方塊。

  10. 按一下 [儲存後關閉],關閉表單。

  11. 在方案總管,按一下 [發行所有自訂]。

在您將這個指令碼套用至 OnSave 事件之後,當人員使用此表單編輯記錄時,[未儲存的變更] 訊息會出現在表單的右下角,就如同自動儲存已啟用。 但是,這個訊息不會消失,直到人員按一下旁邊的 自動儲存按鈕 按鈕。

另請參閱

建立及編輯表單
使用表單編輯器
主要表單的設計考量
主要表單表現形態
最佳化表單效能
更新表單

© 2016 Microsoft Corporation. 著作權所有,並保留一切權利。 著作權