FindMinDateInRFs( )

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

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

语法

FindMinDateInRFs('variable', DateMask)

参数

注意:

允许在规则表达式的其他位置重复使用传递给此函数的变量,但是必须使用单引号将变量添加为参数。
参数 必选/可选 说明
variable 必需 要搜索的项变量,使用单引号传入。
DateMask 可选 用于指定如何处理部分日期的标志:
  • 如果为 null,则在执行比较时将忽略部分日期。
  • 如果提供了 value (以字符串格式),则将部分日期中的 UNK 组件替换为指定的值。

    例如:输入 '10-Apr' 会用 '10' 替换 Day (DD) 组件的每 UNK 值,并使用 'Apr' 替换 Month (MMM) 组件的每 UNK 值。

注:仅对日期要素使用掩码,而不对时间要素使用掩码。时间部分中的任何缺少值都被视为 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 minimum date value for an item across a set of repeating form instances
 
return FindMinDateInRFs('aeDate');
 
// Same as above, using a partial date field aeDate (UNK-MMM-YYYY)
 
return FindMinDateInRFs('aeDate', '01-JAN');
 
//to compare with another date
var maxd= FindMinDateInRFs('a');
var today = new Date();
var maxdate = new Date(maxd);
if(dateDiffInDays(today,maxdate)>0){
   return "today>max";
}
return "today<max";