find2SFormInstance( )
指定された演算子を使用して検索値と一致する値を含む2セクション形式の繰返しセクションのインスタンスを検索します。
この関数は、findMatching2SForm( )と類似しています。ただし、ルール設計者は一致するオペランド(=
、>
、<
、>=
、<=
)を指定できます。
これは集計関数です。ルールは、ターゲットが2セクション・フォームの繰返しセクションにある場合に、各インスタンスに対して実行されます。
構文
find2SFormInstance(formInstance, DateMask, 'variable1', 'compareOperator1', value1, 'variable2', ...)
パラメータ
注意:
ルール式の他の場所でこの関数に渡された変数を再利用できますが、一重引用符を使用して変数をパラメータとして追加する必要があります。パラメータ | 必須/オプション | 説明 |
---|---|---|
formInstance |
オプション | 検索が実行されるフォーム インスタンスを示します。
|
DateMask |
オプション | 一部日付の処理方法を指定するフラグ:
ノート:マスクは日付要素にのみ使用し、時間要素には使用しないでください。時間部分の欠落値は00とみなされます。 |
variable(s) |
必須 | 検索する品目変数。一重引用符を使用して渡されます。 |
compareOperator |
必須 |
指定された変数と値の比較に使用する演算子:
|
value |
必須 | 変数を文字列として比較する値。
|
戻り値
一致する値が見つかったインスタンスのインデックスを表す数値(>0)。
- 複数のインスタンスが見つかった場合、最初の索引のみが返されます。
- 一致が見つからない場合は -1を返します。
使用上のヒント
- カスタム関数の値は、JavaScript変数または直接値である必要があります。カスタム関数式でオペランド変数を直接使用しないでください。
- 他のオペランド/変数を値に使用する場合は、最初にJavaScript変数に割り当ててから、関数式で使用する必要があります。
'DD-MON'
形式をDateMaskとして使用して、部分的な日付値で不明な(UNK
)値を置換します。たとえば、マスクが'01-MAR'
の場合:部分日付値 マスク日 ノート 'UNK-FEB-2020'
'01-FEB-2020'
マスクの日部分を使用して計算に有効です。 'UNK-UNK-2020'
'01-MAR-2020'
マスクの日部分と月部分の両方を使用して計算に有効です。
例)
例3-70指定した値より大きいパルスのインスタンスがある場合の問合せの呼出し
// Raise a query if there is an instance of pulse > 100
return (find2SFormInstance(null, null, 'pulseVal','>', 100) > 0)?false:true; //query is raised when false is returned
例3-71特定の日付値以降に日付変数のインスタンスがある場合の問合せの実行
// Raise a query if there's an instance where onDate is >= 10-Jun-2010
//(onDate is partial UNK-UNK-YYYY)
return (Find2SFormInstance(null, '10-Jun', 'onDate', '>=', '10-Jun-2010') > 0)?false:true;
//Example using operand variable values
//Raise a query if there's an instance where onDate is on or after the enddt
dtval=enddt;
return (Find2SFormInstance(null, '10-Jun', 'onDate', '>=', dtval) > 0)?false:true;
例3-72特定の日時値以降に日時変数のインスタンスがある場合の問合せの実行
return (find2SFormInstance(2, '10-Jun', onDateTime , '>=', '10-Jun-2010 11:12:15') > 0)?false:true;
//or
return (find2SFormInstance(2, '10-Jun', 'onDateTime' , '>=', 'Date(10-Jun-2010 11:12:15)') > 0)?false:true;
例3-73時間変数のインスタンスが特定の時間値以降にある場合の問合せの呼出し
return (find2SFormInstance(2, null, 'onTime' ,'>=', 'Time(11:12:15)') > 0)?false:true;
親トピック: 2セクション・フォーム関数