對預定義值的支持

預定義值功能(néng)是 v4.3.0+ 版本新(xīn)增的功能(néng),主要為(wèi)了簡化規則編寫,支持局部參數的定義與使用(yòng),提升用(yòng)戶編寫規則體(tǐ)驗。

使用(yòng)說明

如果想在當前規則文(wén)件中(zhōng)定義一個局部參數,可(kě)以在預定義值列表點擊 "+",添加預定義值。設置局部參數名(míng)稱、類型、以及值的來源。

預定義值 一個字符串

預定義好的局部參數就可(kě)以在當前的規則文(wén)件中(zhōng)使用(yòng)了。

  • 類型:支持基礎類型和引入變量庫的複雜變量。
  • 值的來源:支持輸入的靜态值、變量或變量屬性、參數、常量、方法、函數等。
  • 源自(from): 指将值的來源的整個一個對象賦值給這個定義的局部參數
  • 來自(in): 指值的來源設置的是一個集合,類似于循環規則塊指定循環集合的設置中(zhōng)的指定集合對象的功能(néng),并且可(kě)以直接設置遍曆過濾條件。
  • 預定義值列表中(zhōng),前面預定義局部參數,在後面的預定義中(zhōng)可(kě)以使用(yòng)。可(kě)以通過拖拽改變先後順序。

預定義值的順序

複雜對象的值獲取

對于複雜對象嵌套的情況,使用(yòng)預定義值的方式獲取子對象值,将會變得非常簡單。 定義一個子對象類型的局部參數,值源自(from) 主對象的子對象屬性即可(kě)

預定義值 複雜對象的值獲取

集合循環遍曆以及多(duō)循環嵌套的使用(yòng)

v4.3.0 以前的版本,循環遍曆一個集合隻能(néng)使用(yòng)循環規則塊進行遍曆集合,具(jù)體(tǐ)可(kě)以參照 設計器使用(yòng)技(jì )巧一文(wén)中(zhōng)的使用(yòng)遍曆集合說明v4.3.0+ 版本後,集合的循環遍曆可(kě)以通過預定義值的功能(néng)實現。

  • 當值為(wèi) 來自(in) 時,需要指定一個集合對象,類似于循環規則塊指定循環集合的設置中(zhōng)的指定集合對象的功能(néng)。
  • 當值為(wèi) 來自(in) 時,指定的是一個變量庫定義的一個變量時,類似于循環規則塊指定變量類型,将從當前工(gōng)作(zuò)區(qū)中(zhōng)找到所有(yǒu)這種類型的變量并組裝(zhuāng)成一個集合進行遍曆。
  • 預定義一個 來自(in) 的局部參數,就相當于一個For循環體(tǐ),下面的預定義條目和規則都在這個循環當中(zhōng)。

預定義值 循環執行順序

  • 上图的執行邏輯如下:

    類型[String] "一個拼接字符串" = "ANLIN" ;
    類型[String] "拼接後員工(gōng)姓名(míng)" = "用(yòng)戶"."姓名(míng)" + "一個拼接字符串" ;
    類型[用(yòng)戶明細] "用(yòng)戶的詳細信息" = "用(yòng)戶"."詳細信息" ;
    For ("标簽" : "用(yòng)戶的詳細信息"."标簽列表" ){
      if ("标簽"."是否有(yǒu)效" == "有(yǒu)效"){
         類型[标簽] "标簽信息" = "标簽" ;
         類型[String] "默認地址" = [Map]("标簽信息"."描述信息").get("有(yǒu)效") ;
          //執行規則文(wén)件中(zhōng)的所有(yǒu)規則塊
          //UA0001規則塊
          if(...){
              ...
          }else{
              ...
          }
          //UA0002規則塊
          if(...){
              ...
          }
    
      } 
    }
    
  • 預定義列表中(zhōng)有(yǒu)多(duō)個 來自(in) 時,就相當于多(duō)個For循環嵌套,這種将大大簡化循環嵌套的編寫過程。

For (item : List ){
    For (...){
        //執行規則文(wén)件中(zhōng)的所有(yǒu)規則塊
    }
}

預定義優先級

當規則文(wén)件中(zhōng)添加了預定義值條目的時候,預定義優先級就生效了,把一個添加了預定義值的規則文(wén)件看成一個整體(tǐ),比如同一個知識包中(zhōng)的多(duō)個添加了預定義值的規則文(wén)件,會根據預定義設置優先級的大小(xiǎo),從高到低執行。

results matching ""

    No results matching ""