關於計算屬性

計算屬性是唯讀屬性。管理員可以將屬性新增至「動作」對話方塊的屬性區段,工作流程使用者可在「動作」對話方塊和交易中看到這些屬性。管理員可以將存取權設為「不顯示」,以限制只有特定角色才能存取。以計算屬性 XYZ 為例,管理員可以新增「檢視者:不顯示」存取權,就不會向檢視者顯示 XYZ。

任何使用者角色都可以將計算屬性新增為檢視和 Portlet 中的欄。也可以在「篩選面板」中將它們新增為可篩選的屬性。

Note:

您不能建立會產生循環相依性的計算屬性。例如,不允許建立下列計算屬性,因為 A 和 B 彼此相依:A= {B}*(-1)B= {A} + 100,這會產生不允許的循環相依性並導致錯誤。

關於計算類型

  • 將值指派給清單 — 將值指派給清單類型屬性。

  • 將清單指派給值 — 將「清單值」指派給不同屬性的值。僅適用於「清單」類型的屬性

  • 條件 — 條件計算 (If – Then – Else)

  • 指令碼 — 任意格式指令碼計算。「文字」、「數字」或「整數」類型的屬性可以使用指令碼

下表列出選擇「計算」選項時,每個屬性類型可使用的計算類型:

Table 10-3 選擇「計算」選項時每個屬性類型可使用的計算類型

屬性類型 將值指派給清單 條件 已撰寫指令碼 將清單指派給值
日期     X  
整數 X X X  
清單        
數字 X X X  
文字 X X X  
是/否   X    

已撰寫指令碼函數範例

其他指令碼函數範例:

  • 日期差異:傳回兩個日期之間的天數、時數、分鐘數或秒數差異。對於 Date1 和 Date 2,可使用值 'TODAY' 和 'NOW,分別代表目前的日期 (不含時間元素) 和日期時間。

    DATE_DIFF(<Date1>, <Date2>, <Type>)

    範例:DATE_DIFF('TODAY', {Preparer End Date}, 'DAYS') 或 DATE_DIFF({Preparer End Date}, 'NOW', 'HOURS')

  • 擷取文字:傳回值內從指定的位置開始的子字串。

    SUBSTRING(<Value>, <Location>, <Length>)

    範例:SUBSTRING( {Name} , 5, 10)

  • If Then Else:可讓使用者將條件計算插入指令碼計算。IF_THEN_ELSE 計算也可以巢狀化來支援 "ELSE IF" 類型計算。

    IF_THEN_ELSE(<Condition>, <Value1>, <Value2>)

    範例:

    IF_THEN_ELSE( {Risk Rating} = 'Low', 'Good',
    IF_THEN_ELSE( {Risk Rating} = 'Medium', 'Better',
    IF_THEN_ELSE({Risk Rating} = 'High', 'Best','Bad')))
    
  • 長度:使用文字值作為參數並傳回整數,該整數是文字中的字元數。

    LENGTH('Value') 傳回 5,而 LENGTH({Name}) 會傳回物件名稱的字元數。如果值為空白/空值,計算將傳回 0。

    使用含 SUBSTRING 的計算以擷取文字值的最後 4 個字元。

    範例:SUBSTRING( {MyString}, LENGTH ({MyString}) - 4

  • 小寫:傳回小寫的值。

    LOWERCASE(<Value>)

    範例:LOWERCASE( {Description} )

  • 最大值:傳回屬性清單中的最大值。不限參數個數。

    MAX(<Value1>, <Value2>,<ValueN>)

    範例:MAX({Acccount1},{Account2},{Account3})

  • 最小值:傳回屬性清單中的最小值。不限參數個數。

    MIN(<Value1>, <Value2>,<ValueN>)

    範例:MIN({Acccount1},{Account2},{Account3})

  • 四捨五入:傳回四捨五入到指定小數位數的值。

    ROUND(<Value>, <Decimal Places>)

    範例:ROUND( ({Scripted Translate} /7), 4)

  • 文字位置:傳回值內子字串的索引,1 代表開頭位置。

    INSTRING(<Value>, <Value To Search>)

    範例:INSTRING( UPPERCASE( {Name} ), 'TAX' )

  • 大寫:傳回大寫的值。

    UPPERCASE(<Value>)

    範例:UPPERCASE( {Name} )