分享方式:


停用表單或組織的自動儲存

本主題適用於 Dynamics 365 Customer Engagement (on-premises)。 有關本主題的 Power Apps 版本,請參閱: 停用模型導向應用程式中的自訂儲存功能

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

自動儲存的運作方式

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

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

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

重要

在整合介面中,如果自動儲存期間發生錯誤,則會增加頁面的自動儲存間隔。 此外,如果屬性值已變更或是已成功儲存,則間隔會重設為 30 秒。

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

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

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

停用組織的自動儲存

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

  1. 移至設定>管理

  2. 選擇系統設定

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

對表單停用自動儲存

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

注意

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

  1. 選擇導覽列上的 Microsoft Dynamics 365>設定

    設定隨即出現在瀏覽列上。

  2. 移至設定>自訂

  3. 選擇自訂系統

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

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

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

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

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

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

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

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

      數值
      名字 preventAutoSave
      顯示名稱 防止自動儲存
      輸入 指令碼 (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_」可能會因為您組織之預設發行者設定的自訂首碼而改變。

    可防止 Dynamics 365 for Customer Engagement 自動儲存的 OnSave 事件處理常式。

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

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

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

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

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

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

另請參閱

建立及編輯表單
主要表單的設計考量
主要表單在不同用戶端中顯示的方式
最佳化表單效能