目录

目的

您可使用自定义函数来自定义许多常用功能,从而帮助您节省时间。自定义计划是现有自定义函数的一个插件。使用自定义计划,您可创建在您指定的时间自动执行特定自定义函数操作的计划。虽然自定义函数基于工作流操作来触发,但自定义计划不需要任何工作流操作即可触发。 

如何创建自定义计划

  • 从主页上转至设置(齿轮图标)> 自动化 > 自定义计划 > 添加计划
  • 计划取名
  • 选择开始日期时间
  • 设置频率
  • 时区下面,选择您所需的时区
  • 自定义函数编辑器中,更新相应的脚本

  • 单击保存

:对于周计划,您可使用下拉列表选择计划应在一周中的哪一天运行。对于月计划,您可选择日期;对于年计划,您可选择计划运行的月份和日期。

示例情景 - 工资处理

考虑这样一个情景,您需要基于每个月的 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 号均会执行此计划以基于来自其他表单的详情更新工资表单。