getMatching2SFormsCount( )

検索キーとして指定された項目値と一致する2セクション形式の繰返しインスタンスの数を取得します。

構文

  • 選択コントロール(ラジオ・コントロール、チェック・ボックス・コントロールおよびドロップダウン)を受け入れることはできますが、値ではなくラベルでのみ検索できます。
  • 選択コントロールの検索テキストとして指定できるオプションは1つのみです。
  • 日付は、文字列'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)'内に指定する必要があります。
  • 時間の一部は、次の形式で使用できます。
    • <h:mm>
    • <hh>
getMatching2SFormsCount(formInstance, 'variable1', value1, 'variable2', value2, ...)

パラメータ

注意:

ルール式の他の場所でこの関数に渡された変数を再利用できますが、一重引用符を使用して変数をパラメータとして追加する必要があります。
パラメータ 必須/オプション 説明
formInstance オプション 重複を検索する2つのセクション・フォーム・インスタンスまたはセクションを決定します。
  • 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 Outcomeが"Fatal"であるインスタンスが複数ある場合の問合せの呼出し

// 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;