計算並儲存節點的名稱

您可以定義表示式來計算要求期間的節點名稱,然後在要求完成並關閉時儲存該值。

計算名稱可以根據節點的特性,也可以根據節點在階層中的位置。

使用案例範例

  • 您可以根據序號計算節點名稱。例如,您可以將首碼 (如 "CC_") 與序列串連,以便在新增節點時自動將其命名為 CC_0034、CC_0035 等。
  • 您可以根據特性計算節點名稱。例如,您可以將自訂節點資料類型特性串連在一起。然後,當您定義特性時,將自動計算節點名稱。因此,對於自訂特性 1 = 120、自訂特性 2 = 200 和自訂特性 3 = 340,將自動計算節點名稱 120-200-340。

    Tip:

    您也可以在節點資料類型特性上設定表示式以衍生其值,以便在新增節點名稱 120-200-340 時,每個特性的值將分別衍生為 120、200 和 340。請參閱衍生並儲存的特性

  • 您可以根據階層結構資訊 (例如父項、祖代和同層級) 計算節點名稱。例如,您可以串連父項名稱與節點描述。
  • 您也可以在新增節點時,使用計算節點名稱來自訂預設名稱。例如,當使用者在「實體」節點類型中新增節點時,您可以傳回計算名稱 "CC_####",並讓使用者手動填寫 #### 的適當值,而不是預設為「新實體節點」的名稱。

注意事項

  • 您可以透過下列作業計算節點名稱:
    • 以互動方式新增節點
    • 載入要求檔案
    • 透過訂閱同步節點
  • 在要求中的「新增」動作期間,每次變更節點時都會重新計算節點名稱。

    Note:

    當節點名稱是根據同層級清單計算 (例如,透過尋找最後一個同層級並加上 1) 時,請注意,如果在其後面新增其他同層級,然後更新原始節點,則節點名稱可能會變更。
  • 在要求中顯示計算節點名稱時:
    • 如果節點名稱表示式傳回一個值,則顯示的該值來源為「已計算」。
    • 如果表示式傳回空值,則顯示的計算名稱關鍵字 <cn ####> (其中 #### 是目前時間戳記的雜湊) 來源為「已計算」。請參閱瞭解計算名稱關鍵字
  • 您可以透過手動輸入名稱來覆寫節點名稱。來源會顯示為「已定義」。
  • 對於要新增至要求中的節點,請使用清除動作清除手動輸入的名稱並返回至計算名稱,然後使用重設動作將目前位置設為主要位置 (請參閱瞭解主要位置),並根據表示式重新計算節點名稱。請參閱清除與重設計算值
  • 完成並關閉要求之後,會儲存計算節點名稱,並且來源會顯示為「已定義」。與「衍生並儲存」的特性不同,系統不會將來源保留為「計算並儲存」。
  • 在包含計算節點名稱之要求環境定義中執行的驗證,將使用目前計算名稱。舉例來說,這表示如果表示式目前傳回空值,則驗證的節點名稱為 "<cn ####>"。
  • 在要求中搜尋節點時,「新增」動作中的目前名稱會用於具有計算名稱的新節點。舉例來說,這表示如果表示式目前傳回空值,則可以在節點名稱中搜尋 "<cn ####>"。
  • 載入要求檔案時,請在要求載入檔案的名稱欄中使用 <cn><cn ####> 關鍵字 (已設定 Core.Name 特性表示式),或將名稱欄保留空白以計算該節點名稱的值。請參閱具有計算名稱的要求文件處理

定義計算並儲存的特性

  1. 檢查 Core.Name 特性定義。
  2. 選取您要計算其節點名稱的應用程式或節點類型。
  3. 從「預設類型」中,選取計算並儲存
  4. 在「預設值」中,按一下表示式按鈕 定義表示式
  5. 定義表示式以計算節點名稱,然後按一下套用。請參閱使用表示式以定義自訂商業邏輯

瞭解主要位置

如果您要新增一個節點,然後在多個其他位置插入相同節點,則系統會在內部將新增節點之階層中的第一個位置指定為主要位置,並使用它來計算節點名稱。插入節點的所有後續位置都將使用第一個位置的計算名稱。

Note:

如果新增節點的第一個位置位於清單中,則在首次將節點插入階層時會設定主要位置。

例如,假設您有一個表示式,該表示式透過將節點的父項名稱與節點上的特性串連來計算節點名稱 (在此範例中,該特性的值為 ABC)。在父項 111 下新增節點時,名稱會計算為 111-ABC。如果您隨後將節點插入父節點 222 下,則名稱仍為 111-ABC,因為 111 是主要位置。

有多種方法可以變更節點的主要位置:

  • 如果您將要求中的節點從其主要位置移動,則新位置將成為主要位置,並重新計算名稱。

  • 如果您在要求期間從主要位置刪除節點,則插入該節點的下一個位置將成為主要位置。

  • 如果節點位於多個位置,並且您想要手動變更哪個位置是主要位置,請使用重設動作。請參閱清除與重設計算值

清除與重設計算值

使用清除來清除手動定義的名稱,然後返回至計算名稱。「清除」動作僅適用於在此要求中新增的節點,其預設類型為「計算並儲存」,且有手動輸入的名稱。

使用重設將計算名稱的主要位置設為目前位置 (請參閱瞭解主要位置),並根據目前位置重新計算節點名稱。「重設」動作僅適用於在此要求中新增的節點,其預設類型為「計算並儲存」,且沒有手動輸入的名稱。

如果您在節點外部執行了會影響節點名稱的動作 (例如,如果變更了「父項」特性,並且想要根據新特性重新計算節點名稱),則也可以使用「重設」來重新計算節點名稱。

驗證與計算節點名稱

驗證要求時,「新增」動作中的目前名稱會用於具有計算名稱的新節點,但有一個例外:如果目前名稱是其中一個關鍵字 (<cn><cn ####>),則會跳過最小和最大長度驗證。這可讓提交者提交名稱中包含其中一個關鍵字的要求,以便核准者或擴充者可以新增必要資訊來計算名稱。

最小和最大長度驗證會在核准或確認要求時執行。

計算名稱與訂閱

當您使用計算名稱設定訂閱時,系統會在來源視點中計算該名稱,並在訂閱要求中將產生的名稱傳遞至目標視點。如果您想要在目標視點中計算節點名稱,則必須在訂閱的節點類型轉換器中設定特性轉換 (請參閱使用節點類型轉換器),以將名稱轉換為空白值或其中一個計算名稱關鍵字 (<cn> 表示「新增」或 <cn ####> 表示「插入式新增」,其中 #### 是唯一識別碼字串)。請參閱瞭解計算名稱關鍵字

Note:

如果您要使用替代名稱 (如果可用),請將該名稱轉換為空白值。如果您一律希望在目標視點中使用計算名稱,請將該名稱轉換為其中一個關鍵字。