findMaxDateIn2SForm( )

2セクション・フォームのすべての繰返しインスタンスで、指定された日付、日時または部分日付アイテムの最大値を検索します。この関数は日付フィールドにのみ適用されます。

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

構文

findMaxDateIn2SForm('variable', DateMask)

パラメータ

注意:

この関数に渡された変数は、ルール式内の他の場所でも再使用できますが、一重引用符を使用して変数をパラメータとして追加する必要があります。
パラメータ 必須/オプション 説明
variable 必須 検索する品目変数。一重引用符を使用して渡されます。
DateMask オプション 一部日付の処理方法を指定するフラグ:
  • nullの場合、比較の実行時に日付の一部を無視します。
  • valueが(文字列形式で)指定されている場合は、部分日付のUNKコンポーネントを指定された値に置き換えます。

    たとえば、'10-Apr'と入力すると、Day (DD)コンポーネントのUNK値ごとに'10'に置き換えられ、Month (MMM)コンポーネントのUNK値ごとに'Apr'に置き換えられます。

ノート:マスクは日付要素にのみ使用し、時間要素には使用しないでください。時間部分の欠落値は00とみなされます。

戻り値

  • 文字列形式の最大日付値。たとえば、'27-Jan-2021 00:00'です。
  • 最大が見つからない場合はnull

使用方法のヒント

  • 部分的な日付値で不明な(UNK)値を置換するには、'DD-MON'書式をDateMaskとして使用します。たとえば、マスクが'01-MAR'の場合:
    日付値の一部 マスク日 ノート
    'UNK-FEB-2020' '01-FEB-2020' マスクの day部分を使用した計算に有効になります。
    'UNK-UNK-2020' '01-MAR-2020' マスクのの両方を使用する計算に有効になります。
  • 戻り値をJavaScript日付オブジェクトに変換するには、追加の書式設定を実行する必要があります。例:
    vExample = '10-Jul-2022 10:UNK:UNK'  
    new Date(vExample.replace(/UNK/g, "00"))

例)

例3-67 2セクション・フォームの一連の繰返しセクション・インスタンスにわたるアイテムの最大日付値の取得

// Get the maximum date value for an item across a set of repeating section instances on a two-section form
 
return findMaxDateIn2SForm('aeDate');
 
// Same as above, using a partial date field aeDate (UNK-MMM-YYYY)
 
return findMaxDateIn2SForm('aeDate', '01-JAN');
 
 
 
//to compare with another date
var maxd= findMaxDateIn2SForm('a');
var today = new Date();
var maxdate = new Date(maxd);
if(dateDiffInDays(today,maxdate)>0){
   return "today>max";
}
return "today<max";