FindRFInstance( )
使用提供的运算符查找包含与搜索值匹配的值的重复表单实例。
此函数与 FindMatchingRepeatingForm( ) 类似。但是,它允许规则设计器指定匹配操作数(
=
、>
、<
、>=
、<=
)。
- 此功能不支持下拉列表、单选按钮或复选框等选择问题。
- 自定义函数中的值应该是 JavaScript 变量或直接值。请勿直接在定制函数表达式中使用操作数变量。
- 如果要将其他操作数 / 变量用于值,则必须首先将其分配给 JavaScript 变量,然后在函数表达式中使用。
这是一个聚集函数。如果目标位于重复表单上,则为每个表单实例运行规则。
语法
FindRFInstance (DateMask, 'variable1', 'compareOperator1', value1, 'variable2', ...)
参数
注意:
允许在规则表达式的其他位置重复使用传递给此函数的变量,但是必须使用单引号将变量添加为参数。参数 | 必选/可选 | 说明 |
---|---|---|
DateMask |
可选 | 用于指定如何处理部分日期的标志:
注:仅对日期要素使用掩码,而不对时间要素使用掩码。时间部分中的任何缺少值都被视为 00。 |
variable(s) |
必需 | 要搜索的项变量,使用单引号传入。 |
compareOperator |
必需 |
用于比较提供的变量和值的运算符:
|
value |
必需 | 将变量作为字符串进行比较的值。
|
返回值
表示找到匹配值的表单实例的索引的编号 ( >0 )。
- 如果找到多个实例,则仅返回第一个索引。
- 如果未找到匹配项,则返回 -1 。
使用提示
- 使用
'DD-MON'
格式作为 DateMask 来替代部分日期值中的未知 (UNK
) 值。例如,如果掩码为'01-MAR'
:部分日期值 屏蔽日期 附注 'UNK-FEB-2020'
'01-FEB-2020'
使用掩码的 day 部分进行有效计算。 'UNK-UNK-2020'
'01-MAR-2020'
可使用掩码的 day 和 month 部分进行有效计算。
示例
示例 3-51 如果某个脉冲实例大于给定值,则引发查询
// Raise a query if there is an instance of pulse > 100
return (FindRFInstance(null, 'pulseVal','>', 100) > 0)?false:true; //query is raised when false is returned
示例 3-52 如果 Date 变量等于或晚于给定日期值,则引发查询
// Raise a query if there's an instance where onDate is >= 10-Jun-2010
//(onDate is partial UNK-UNK-YYYY)
return (FindRFInstance('10-Jun', 'onDate', '>=', '10-Jun-2010') > 0)?false:true;
示例 3-53 如果日期时间变量在给定日期时间值上或之后,则引发查询
// Raise a query if there's an instance where onDateTime is >= 10-Jun-2010 11:12:15
//(onDateTime is partial DD-MMM-YYYY UNK:UNK:UNK)
return (FindRFInstance('10-Jun', 'onDateTime' , '>=', '10-Jun-2010 11:12:15') > 0)?false:true;
//or
return (FindRFInstance('10-Jun', 'onDateTime' , '>=', 'Date(10-Jun-2010 11:12:15)') > 0)?false:true;
示例 3-54 如果 Time 变量在给定时间值上或之后,则引发查询
// Raise a query if there's an instance where onTime is >= 11:12:15
//(onTime is partial HH:UNK:UNK)
return (FindRFInstance(null, 'onTime' ,'>=', 'Time(11:12:15)') > 0)?false:true;
父主题:重复表单功能