FindRFInstance( )
指定された演算子を使用して検索値と一致する値を含む繰返しフォーム・インスタンスを検索します。
この関数は、FindMatchingRepeatingForm( )と類似しています。ただし、ルール・デザイナは、一致するオペランド(=、>、<、>=、<=)を指定できます。
ノート:
これは集計関数です。ターゲットが繰返しフォーム上にある場合、ルールは各フォーム・インスタンスに対して実行されます。
構文
FindRFInstance (DateMask, 'variable1', 'compareOperator1', value1, 'variable2', ...)パラメータ
- DateMask
-
部分日付の処理方法を指定するフラグ。
null。比較の実行時に日付の一部を無視します。- value。部分日付のUNKコンポーネントを指定された値で置き換えます。たとえば、
'10-Apr'と入力すると、'10'がDay (DD)コンポーネントのUNK値ごとに、'Apr'がMonth (MMM)コンポーネントのUNK値ごとに置換されます。ノート:
日付要素にのみマスクを使用し、時間要素には使用しません。時間部分の欠落値は00とみなされます。
- 変数
-
検索するアイテム変数。
注意:
ルール式の他の場所でこの関数に渡された変数を再利用できますが、一重引用符を使用して変数をパラメータとして追加する必要があります。 - compareOperator
-
比較に使用する演算子:
=、>、<、>=、<=。 - 値
- 変数を文字列として比較する値。
- 日付値は、Javascript Date変数または次の形式の文字列として指定できます。
'Date(dd-mmm-yyyy)''Date(dd-mmm-yyyy hh:mm:ss)''dd-mmm-yyyy''dd-mmm-yyyy hh:mm:ss'
- 時間値は
'Time(hh:mm:ss)'として指定できます
- 日付値は、Javascript Date変数または次の形式の文字列として指定できます。
戻り値
一致するものが見つからない場合は-1、一致するインスタンスが少なくとも1つ見つかった場合はフォーム・インスタンスの索引番号(>0)を返します。複数のインスタンスが見つかった場合は、最初の索引のみが返されます。
使用上のヒント
- カスタム関数の値は、JavaScript変数または直接値である必要があります。カスタム関数式でオペランド変数を直接使用しないでください。
- 他のオペランド/変数を値に使用する場合は、最初にJavaScript変数に割り当ててから、関数式で使用する必要があります。
'DD-MON'形式をDateMaskとして使用して、部分的な日付値で不明な(UNK)値を置換します。たとえば、マスクが'01-MAR'の場合:部分日付値 マスク日 ノート 'UNK-FEB-2020''01-FEB-2020'マスクの日部分を使用して計算に有効です。 'UNK-UNK-2020''01-MAR-2020'マスクの日部分と月部分の両方を使用して計算に有効です。
例3-50指定した値より大きいパルスのインスタンスがある場合の問合せの呼出し
// Raise a query if there is an instance of pulse > 100
return (FindRFInstance(null, 'pulseVal','>', 100) > 0)?false:true; //query is raised when false is returned
例3-51日付変数が特定の日付値以降である場合に問合せを発生させる
// Raise a query if there's an instance where onDate is >= 10-Jun-2010
//(onDate is partial UNK-UNK-YYYY)
return (FindRFInstance('10-Jun', 'onDate', '>=', '10-Jun-2010') > 0)?false:true;
例3-52 Datetime変数が特定の日時値以降の場合に問合せを呼出し
// Raise a query if there's an instance where onDateTime is >= 10-Jun-2010 11:12:15
//(onDateTime is partial DD-MMM-YYYY UNK:UNK:UNK)
return (FindRFInstance('10-Jun', 'onDateTime' , '>=', '10-Jun-2010 11:12:15') > 0)?false:true;
//or
return (FindRFInstance('10-Jun', 'onDateTime' , '>=', 'Date(10-Jun-2010 11:12:15)') > 0)?false:true;
例3-53 Time変数が特定の時間値以降の場合に問合せを発生させる
// Raise a query if there's an instance where onTime is >= 11:12:15
//(onTime is partial HH:UNK:UNK)
return (FindRFInstance(null, 'onTime' ,'>=', 'Time(11:12:15)') > 0)?false:true;
親トピック: 繰返しフォーム関数