如何在Zoho People Deluge中编写自定义函数生成日期区间并创建表单条目
Zoho People Deluge 日期区间遍历及表单条目创建解决方案
问题根源
你当前代码的语法错误是因为使用了非Deluge规范的for循环格式,Deluge不支持for (i = 0; i <= no_of_days; i = i + 1)这种C/Java风格的循环写法,这直接导致了语法解析报错。
修正后的完整代码
以下是可以实现需求的正确代码,包含日期区间遍历和表单条目创建逻辑:
// 确保起始日期不晚于结束日期,避免天数为负 if (repeat_from > repeat_upto) { temp_date = repeat_from; repeat_from = repeat_upto; repeat_upto = temp_date; } // 计算日期区间的总天数(包含首尾日期,所以遍历范围要覆盖到该天数) no_of_days = repeat_from.daysBetween(repeat_upto); // 遍历日期区间内的每一天 for i from 0 to no_of_days step 1 { // 获取当前循环对应的日期 current_date = repeat_from.addDays(i); // 在request_form中创建对应条目,替换为实际需要的字段映射 createRecord("request_form", map() .put("Date_Field", current_date) // 替换为你表单中的日期字段API名称 // 可添加其他需要设置的字段,比如: // .put("Other_Field", "对应值") ); } info "所有日期条目创建完成";
关键说明
- 循环语法:Deluge的
for循环使用for <变量> from <起始值> to <结束值> step <步长>的格式,这是官方规范的写法。 - 日期边界处理:添加了日期顺序校验,避免因起始日期晚于结束日期导致的负数天数问题。
- 表单字段映射:需要将代码中的
Date_Field替换为你request_form中实际存储日期的字段API名称,可通过Zoho People表单的字段设置查看API名称。 - 包含首尾日期:通过
from 0 to no_of_days的遍历范围,确保起始日和结束日都被包含在内(比如2023-12-1到2023-12-3,天数为2,循环0、1、2三次,对应三天)。
内容的提问来源于stack exchange,提问作者Rocky
相关产品推荐
相关产品推荐

