FindMaxDateInRFs( )

查找表单 ID 标识的表单的所有重复实例中给定日期、日期时间或部分日期项的最大值。此功能仅适用于日期字段。

注意:

这是一个聚集函数。如果目标位于重复表单上,则为每个表单实例运行规则。

语法

FindMaxDateInRFs('variable', DateMask)

参数

变量
规则变量,引用路径:eventId.formId.itemId

注意:

允许在规则表达式的其他位置重复使用传递给此函数的变量,但是必须使用单引号将变量添加为参数。
DateMask

用于指定如何处理部分日期的标志。

  • null。进行比较时忽略部分日期。
  • value 。将部分日期中的 UNK 组件替换为指定的值。例如:输入 '10-Apr' 可替换为“天”(DD) 组件的每 UNK'10' 以及“月”(MMM) 组件的每 UNK'Apr'

    注:

    仅对日期元素使用掩码,不将其用于时间元素。时间部分中缺少的任何值都视为 00。

返回值

  • 字符串格式的最大日期值。例如,'27-Jan-2021 00:00'
  • null(如果未找到最大值)。

使用提示

  • 使用 'DD-MON' 格式作为 DateMask 来替代部分日期值中的未知 (UNK) 值。例如,如果掩码为 '01-MAR'
    部分日期值 屏蔽日期 附注
    'UNK-FEB-2020' '01-FEB-2020' 使用掩码的 day 部分进行有效计算。
    'UNK-UNK-2020' '01-MAR-2020' 可使用掩码的 daymonth 部分进行有效计算。
  • 要将返回值转换为 JavaScript 日期对象,应执行额外的格式设置。例如:
    vExample = '10-Jul-2022 10:UNK:UNK'  
    new Date(vExample.replace(/UNK/g, "00"))

示例 3-47

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