You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Deluge脚本使用比较运算符对比入职日期与当前日期返回空值求解

问题原因&解决方案

核心原因

返回NULL主要来自两个问题:

  • 逻辑错误:Dateofjoining是员工入职日期,正常情况下已入职员工的入职日期都早于当前时间,你用>运算符匹配大于当前时间的记录,本身就没有符合条件的结果
  • 类型不匹配:Deluge的now函数返回的是带时分秒的datetime类型值,而Dateofjoining是存储格式为20-Nov-1979的纯日期类型字段,二者类型不一致会导致搜索条件匹配失效返回空

可行解决方案

方案1:调整对比逻辑+统一日期格式

如果你的需求是查询已经入职的员工,将运算符改为<,同时把当前时间转换为和Dateofjoining同格式的纯日期值:

searchMap1 = Map();
searchMap1.put("searchField","Dateofjoining");
searchMap1.put("searchOperator","<");
// 转换当前时间为纯日期,匹配字段存储格式
currentDate = today.toString("dd-MMM-yyyy");
searchMap1.put("searchText",currentDate);

如果是查询待入职(入职日期在未来)的员工,保留>运算符即可

方案2:显式转换字段类型对比(适用于复杂日期计算场景)

如果需要做更复杂的日期对比(比如查询入职满N年的员工),可以先拉取全量员工数据后再做本地日期转换对比:

// 先拉取所有员工数据,替换为你实际的表单查询语句
allEmployees = zoho.crm.getRecords("Employees");
// 示例:过滤入职满1年的员工
qualifiedEmployees = allEmployees.filter(
  (employee) => {
    joinDate = employee.get("Dateofjoining").toDate("dd-MMM-yyyy");
    return joinDate.addYear(1) < today;
  }
);

内容的提问来源于stack exchange,提问作者Codrut Dumbrava

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 18:36:00