getMatching2SFormsCount( )

获取两个部分表单中与作为搜索关键字提供的项值匹配的重复实例数。

语法

  • 可以接受选项控件(单选控件、复选框控件和下拉列表),但只能按标签而非值进行搜索。
  • 只能提供一个选项作为选项控件的搜索文本。
  • 必须在字符串 'Date(dd-mmm-yyyy hh:mm:ss)' 内提供日期。
  • 您可以采用以下格式使用部分日期:
    • <dd-mmm-yyyy hh:mm>
    • <dd-mmm-yyyy hh>
    • <dd-mmm-yyyy>
    • <mmm-yyyy>
    • <yyyy>
  • 必须在字符串 'Time(hh:mm:ss)' 内提供时间。
  • 您可以采用以下格式使用部分时间:
    • <hh:mm>
    • <hh>
getMatching2SFormsCount(formInstance, 'variable1', value1, 'variable2', value2, ...)

参数

注意:

允许在规则表达式的其他位置重复使用传递给此函数的变量,但是必须使用单引号将变量添加为参数。
参数 必选/可选 说明
formInstance 可选 确定要在其中查找重复项的两个区段表单实例或区段:
  • 如果 null 和平面部分中的变量,则将在所有表单实例的平面部分中搜索重复项。
  • 如果 null 和表部分中的变量,将在所有表单实例的所有表行中搜索重复项。
  • 如果提供了 formInstance 值并且变量位于平面部分中,则将在指定实例的平面部分中执行搜索。

    注:这将在单个实例中构成搜索。

  • 如果提供了 formInstance 值并且变量位于表部分中,则将在指定实例的所有表行中执行搜索。
variable 必需 要进行求值的规则变量,使用单引号传入。
value 必需 要搜索的值。

返回值

表示匹配实例计数的数字,具体取决于传入的参数:
  • 如果 formInstancenull 且变量位于平面部分中,则将返回匹配重复表单实例的计数。
  • 如果 formInstancenull 且变量位于表行中,则将返回匹配的重复表行实例计数。
  • 如果提供了 formInstance 值并且变量位于平面部分中,则将返回指定表单实例的平面部分内的匹配实例计数。
  • 如果提供了 formInstance 值并且变量位于表部分中,则将返回指定表单实例中匹配的重复表行实例的计数。

注意:

在日期中,UNK 值被视为与任何其他值匹配。例如:'Date(01-Feb-2022)''Date(20-Feb-2022)' 都被视为具有 UNK-Feb-2022 日期值的条目的匹配项。

示例

示例 3-77 如果存在多个 AE 结果为“致命”的实例,则引发查询

// Raise a query if there is more than one instance where AE Outcome = 'Fatal"
 
// Get current repeating instance
var ins = GetCurrent2SFormInstance();
var curVal = "";
 
// Get value of aeOut from current instance
var 2sData = get2SValues(ins,getCurrent2STableInstance(),['aeOut'] );
if(2sData.exists && 2sData.aeOut){
        if((2sData.aeOut) !== "[]"){    // If the choice control has been cleared out then do not read the label
            curVal = JSON.parse(2sData.aeOut)[0].label;
    }
}
 
// check to see if there are more than 1 instance with "Yes"
return ((curVal == "Fatal") && (getMatching2SFormsCount(1, 'aeOut', '[{"value":"3","label":"Fatal"}]') > 1))?false:true;