目录
目的
您可使用自定义函数来自定义许多常用功能,从而帮助您节省时间。自定义计划是现有自定义函数的一个插件。使用自定义计划,您可创建在您指定的时间自动执行特定自定义函数操作的计划。虽然自定义函数基于工作流操作来触发,但自定义计划不需要任何工作流操作即可触发。
如何创建自定义计划
- 从主页上转至设置(齿轮图标)> 自动化 > 自定义计划 > 添加计划
- 为计划取名
- 选择开始日期和时间
- 设置频率
- 在时区下面,选择您所需的时区
- 在自定义函数编辑器中,更新相应的脚本
- 单击保存
注:对于周计划,您可使用下拉列表选择计划应在一周中的哪一天运行。对于月计划,您可选择日期;对于年计划,您可选择计划运行的月份和日期。
示例情景 - 工资处理
考虑这样一个情景,您需要基于每个月的 27 号、基于各种其他值(例如,保险金额、其他报销金额等)来更新工资表单。在这种情况下,您可为此日期创建一个计划,从多个表单取值以更新您的工资详情表单。
请按照以下步骤来完成。
注:您需要在您的帐户中提供脚本中所用的表单和字段,然后才可使用此函数。
- 从主页上转至设置(齿轮图标)> 自动化 > 自定义计划 > 添加计划
- 在计划名称中输入“报销详情”
- 在开始日期下面输入 27
- 在时间下面,指定所需的时间
- 在频率下面,选择月,然后在日期下面选择 27
- 在自定义函数编辑器中,粘贴下面给出的脚本
salarydetails = Map();
salarydetails = zoho.people.getRecordById("Salary_reference",recordid);
tabularmap = Map();
tabularmap = salarydetails.get("tabularSections");
tabularlist = List();
tabularlist = tabularmap.get("Breakup details");
salarymap = Map();
Totalsalary = 0;
for each r in tabularlist
{
salarymap = r.toMap();
Totalsalary = salarymap.get("HRA1").toDecimal() + salarymap.get("Other_Allowance1").toDecimal() + salarymap.get("Medical1").toDecimal() + salarymap.get("Basic1").toDecimal();
}
salaryupdate = Map();
salaryvalue = Map();
salaryvalue.put("recordid",recordid);
salaryvalue.put("Net_Salary",Totalsalary.toString());
salaryvalue.put("Revised_date",today.toString());
salaryupdate = zoho.people.update("Salary_reference",salaryvalue);
info salaryupdate;
此函数将工资详情从工资参考表单添加到月工资表单。
getdata = List();
getdata = zoho.people.getRecords("Salary_reference");
addata = Map();
addrecord = Map();
这将迭代所有条目并在指定的当前日期将它更新到工资详情表单中。
for each r in getdata
{
mon_salary = r.get("Net_Salary");
erecno = r.get("Employee_ID.ID");
addata.put("Employee_ID",erecno);
addata.put("Montly_Salary",mon_salary);
addata.put("Date_1",today.toString());
addrecord = zoho.people.create("Monthly_Salary_Details",addata);
}
putrecord = Map();
updaterecord = Map();
putrecord.put("recordid",recordid); putrecord.put("Sch_date",datevalue.toString());
updaterecord = zoho.people.update("Schedular_form",putrecord);
info updaterecord;
- 单击保存
创建此计划之后,每个月的 27 号均会执行此计划以基于来自其他表单的详情更新工资表单。