findMatching2SForm( )
查找由行 ID 标识的两部分表单的重复部分实例,该实例与作为搜索关键字提供的项值匹配。此函数支持部分日期。
- 不支持下拉列表、单选按钮和复选框值作为函数参数或目标。
- 如果变量设计为保存部分日期,则以相同的部分日期格式提供该参数的值。您可以采用以下格式使用部分日期:
- <dd-mmm-yyyy hh:mm>
- <dd-mmm-yyyy hh>
- <dd-mmm-yyyy>
- <mmm-yyyy>
- <yyyy>
注意:
实例之间是否存在任何部分日期将使其他完整日期采用相同的格式进行比较。例如,如果存在部分日期实例 'UNK-JAN-2022
',则仅对其他日期中的月份和年份值进行比较,即使它们是完整日期也是如此。同样,如果存在部分日期实例 'UNK-UNK-2022
',则在所有日期中仅使用年份值进行比较。
这是一个聚集函数。如果目标采用两节形式,则为每个表单实例运行规则。
语法
findMatching2SForm(formInstance, 'variable1', value1, 'variable2', value2, ...)
参数
注意:
允许在规则表达式的其他位置重复使用传递给此函数的变量,但是必须使用单引号将变量添加为参数。参数 | 必选/可选 | 说明 |
---|---|---|
formInstance |
可选 | 指明要在其中执行搜索的表单实例。
|
variable(s) |
必需 | 要检查的项变量,使用单引号传入。 |
value(s) |
必需 | 要搜索的给定变量的值。
这些值必须是硬编码的,不能是规则变量:
|
返回值
表示找到匹配值的实例的索引的编号 ( >0 )。
- 在所有实例中搜索两部分表单时(当
formInstance = null
时),该函数将返回匹配的表单实例编号。 - 搜索特定实例(例如
formInstance = 1
)时,该函数将返回匹配项的表行实例编号。 - 如果找到多个实例,则仅返回第一个索引。
- 如果未找到匹配项,则返回 -1 。
注:
在日期中,UNK
值被视为与任何其他值匹配。例如:'Date(01-Feb-2022)'
和 'Date(20-Feb-2022)'
都被视为具有 UNK-Feb-2022
日期值的条目的匹配项。
示例
示例 3-68 如果存在症状 = "headache" 且脉冲速率 = "100" 的任何实例,则引发查询
// Given 5 two-sections form instances with items "itmSymptom" and "itmPulse" on flat part
// Fires query if any of the 5 instances contain both itmSymptom = "headache" AND itmPulse = 100.
if (findMatching2SForm(null, 'itmSymptom', "headache", 'itmPulse', 100) > 0) {
return false;
} else {
return true;
}
// Search table rows inside the 4th instance of the 2-section form
// Fires query if any rows inside the 4th form instance contain both itmSymptom = "headache" AND itmPulse = 100.
if (findMatching2SForm(4, itmSymptom, "headache", itmPulse, 100) > 0) {
return false;
} else {
return true;
}
父主题:两个部分表单函数