关于计算属性

计算属性是只读属性。管理员可以在“操作”对话框中向属性部分添加属性,工作流用户可以在操作对话框和事务中查看属性。管理员可以将访问权限设置为“不显示”,从而将访问权限只给予某些角色。例如,对于计算属性 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 和 Date2,可使用值 '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} )