findDuplicate2SForm( )

フラット・セクションまたは繰返しセクション内の特定のアイテムの2セクション・フォーム・インスタンス間で重複データを検出します。データは、指定された検索キーのアイテム値が重複するフォームIDによって識別されます。ルール・ターゲットは、対応する繰返しセクション項目にある必要があります。

重複キーを完全に定義するには、必要な数の引数を使用します。

この関数について:

  • ドロップダウン、ラジオ・ボタンまたはチェック・ボックス値を関数パラメータまたはターゲットとして使用することはできません。
  • 日付比較では、日付の一部が受け入れられます。

    ノート:

    インスタンス間で日付の一部がある場合、他の完全な日付は比較のために同じ形式で取得されます。たとえば、日付インスタンスUNK-JAN-2022の一部がある場合、完全な日付であっても、他の日付の月と年の値のみが比較のために取得されます。同様に、部分的な日付インスタンス'UNK-UNK-2022'がある場合、すべての日付の比較には年の値のみが使用されます。

これは集計関数です。ターゲットが2セクション・フォームにある場合、ルールは各フォーム・インスタンスに対して実行されます。

構文

findDuplicate2SForm(formInstance, 'variable1', 'variable2',...)

パラメータ

変数
評価するアイテム変数。これらは、参照パスeventId.formId.itemIdで宣言されたルール変数です。

注意:

ルール式の他の場所でこの関数に渡された変数を再利用できますが、一重引用符を使用して変数をパラメータとして追加する必要があります。
formInstance

これがnullの場合、2セクション・フォームのすべてのインスタンスに対してチェックが実行されます。値を指定すると、その2セクション・フォーム・インスタンスの表の行に対してチェックが実行されます。

戻り値

重複値が見つかった場合はtrue、重複値が見つからない場合はfalseを返します。

例3-60演習名とテスト名に同じ値を持つ重複する2セクション・フォーム・インスタンスが存在するかどうかの確認

// Given 5 two-section form instances with items "Lab" and "Test Name"
if (findDuplicate2sForm(null,'itmLab', 'itmTestName')) {
  return false;
} else {
  return true;
}

例3-61フォーム・インスタンスが別のフォーム・インスタンスと重複していることを確認する場合

// Raise a query if 2 section form instance is duplicate of any other form instance

return findDuplicate2SForm(null, 'txt'); 

// Raise a query if 2 section table instance #2 is duplicate of any other table instance

var arrAE = list2SInstances(2, "txt");
return (arrAE.length <= 1)?false:true;