衍生並儲存的特性處理

本主題討論在視點中新增或更新節點時,會如何處理具有「衍生並儲存」預設類型的特性。

Tip:

在下方的處理區段中,儲存值是指已定義或衍生,然後儲存在節點上的值。

互動式要求

對於具有「衍生並儲存」預設類型的特性,會在要求期間衍生值,然後在確認要求之後、完成要求之前儲存值。在處理要求時,如果「衍生並儲存」的特性尚未有儲存值,則系統會根據您在預設值中定義的表示式動態計算該特性的值。要求處理期間的特性來源是衍生

系統會在確認要求之後、完成要求之前,檢查具有「衍生並儲存」預設類型的所有特性。沒有儲存值或其特性更新動作沒有使用者定義值的特性,會使用您定義的表示式中的值更新,並且該值會儲存為衍生並儲存值。

Note:

這些特性更新動作會新增至要求,而且可以在要求檢查程式中檢視。請參閱檢查要求項目

計算和填入特性中的衍生值的處理屬於內部系統特性更新動作,因此不受安全性和驗證的規範。換句話說,當使用者新增或更新節點時,即使發生下列情況,系統也會對該尚未有定義值的節點填入具有「衍生並儲存」預設類型的所有特性:

  • 使用者不具備該特性的寫入權限
  • 該特性在視點處於隱藏狀態
  • 該特性未定義為可編輯
  • 該特性已啟用「確認時鎖定」

不過,如果使用者清除或手動輸入定義值,則會套用平常的安全性與驗證。

如果您清除「衍生並儲存」的特性值,則系統會根據您定義的表示式顯示目前計算值,並且特性來源是衍生。在表示式中使用的資訊已變更時,清除值是一種重新計算「衍生並儲存」的特性值的方法。確認要求時,計算值會儲存為衍生並儲存值。

Note:

對於複製和依現有節點建立模型作業,不會從來源節點複製衍生值和儲存值。新節點的值是根據預設值中定義的表示式計算並儲存。

要求檔案載入

對於來自檔案載入 (亦即互動式要求、比較要求、複製或依現有節點建立模型要求、訂閱、整合要求和合併匯入中的已上傳要求檔案) 的要求,尚未有「衍生並儲存」的特性之儲存值的節點會依下列方式更新:

  • 如果要求檔案包含「衍生並儲存」的特性的定義值,會以一般方式更新值。這屬於使用者動作,會套用安全性和驗證。
    • <blank> 關鍵字會將該特性更新為定義的空白值。
    • <clear> 關鍵字會清除現有值 (包括空白值) 並計算衍生值。

      Tip:

      如果您將具有「衍生並儲存」預設類型的特性新增至現有節點類型,要在不做任何其他變更的情況下在現有節點上填入該特性的值最簡單的方式就是,透過要求檔案或視點載入使用 <clear> 關鍵字更新該特性。
  • 如果要求檔案未包含「衍生並儲存」的特性的定義值,則該特性會根據您在預設值中定義的表示式使用衍生值更新,並且該值會儲存為「衍生並儲存」值。這屬於內部系統動作,不會套用安全性和驗證。

    Note:

    要求檔案中節點的「衍生並儲存」的特性值即使檔案未包含該特性也會更新。例如,如果您的檔案僅包含描述特性的更新,在該檔案中具有「衍生並儲存」預設類型的特性沒有儲存值的所有節點,即使使用者沒有該特性的寫入存取權或該特性在視點為隱藏狀態,也會使用計算值更新該特性。

匯入和視點載入

合併模式

合併模式中的匯入和視點載入處理方式與上述的要求檔案載入相同。具有「衍生並儲存」預設類型且尚未有儲存值的所有特性 (包括未繫結特性) 都會在匯入或視點載入期間使用計算值更新。然後,儲存該特性的計算值。

您可以使用 <clear> 關鍵字計算「合併」模式中匯入和視點載入中的衍生值和儲存值。

重設和取代模式

對於「重設」和「取代」模式中的匯入,不會修改具有「衍生並儲存」預設類型的未繫結特性。只有通用應用程式中的繫結特性可使用衍生值和儲存值更新。值的更新方式與上述的要求檔案載入此處理相同。

對於「取代」模式中的視點載入,只有視點載入檔案中包含的「衍生並儲存」的特性才會使用「衍生並儲存」值更新。如果視點載入檔案未包含具有「衍生並儲存」預設類型的特性的欄,則在視點載入期間不會更新該特性。

在「重設」和「取代」模式中使用 <clear> 關鍵字

對於「取代」模式中的視點載入,您可以使用 <clear> 關鍵字計算特性的衍生值和儲存值。

對於「重設」或「取代」模式中的匯入,如果您已在匯入選項中設定,則可以使用 clear 關鍵字計算特性的衍生值和儲存值。請參閱管理匯入選項