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

Zoho CRM创建新任务时自动处理旧任务的函数故障求助

Zoho CRM 任务管理函数修复方案

问题说明

当前函数原定需求是创建新任务时删除关联线索的旧任务,但现有代码仅实现了「将到期日期≤当前日期的任务标记为已完成」的逻辑,既不符合需求,也无法正常完成删除旧任务的目标,且尚未进行任何修复尝试。

原代码

Leadinfo = zoho.crm.getRelatedRecords("Tasks","Leads",leadid);
for each task in Leadinfo 
{
  taskid = task.get("id"); 
  //tinfo = zoho.crm.getRecordById("Tasks",taskid);
  tdate = task.get('Due_Date').todatetime();
  tt = zoho.currentdate;
  if(tdate <= tt)
  {
    mp = Map();
    mp.put("Status","Completed");
    updateResp = zoho.crm.updateRecord("Tasks",taskid,mp); 
  }
}
info updateResp;

修复方案

核心修改点

  1. 替换操作逻辑:将标记任务为「Completed」的updateRecord调用,替换为删除任务的deleteRecord方法
  2. 匹配需求场景:
    • 若需删除所有关联旧任务(不考虑到期时间):直接移除日期判断的if条件
    • 若需删除到期的旧任务:保留日期判断,但替换更新操作为删除操作
  3. 优化结果收集:循环中updateResp会被每次迭代覆盖,建议用列表收集所有删除操作的返回结果,便于排查问题

修改后的代码示例

场景1:删除关联线索的所有旧任务
Leadinfo = zoho.crm.getRelatedRecords("Tasks","Leads",leadid);
deleteResults = List();
for each task in Leadinfo 
{
  taskid = task.get("id"); 
  deleteResp = zoho.crm.deleteRecord("Tasks", taskid);
  deleteResults.add(deleteResp);
}
info deleteResults;
场景2:删除关联线索中到期(≤当前日期)的旧任务
Leadinfo = zoho.crm.getRelatedRecords("Tasks","Leads",leadid);
deleteResults = List();
tt = zoho.currentdate;
for each task in Leadinfo 
{
  taskid = task.get("id"); 
  tdate = task.get('Due_Date').todatetime();
  if(tdate <= tt)
  {
    deleteResp = zoho.crm.deleteRecord("Tasks", taskid);
    deleteResults.add(deleteResp);
  }
}
info deleteResults;

额外注意事项

  • 确保函数拥有Zoho CRM中「Tasks」模块的删除权限,否则会返回权限错误
  • 若线索关联的任务数量较多,可考虑添加分页逻辑处理getRelatedRecords的返回结果(默认返回200条)

内容的提问来源于stack exchange,提问作者belal shaaban

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 08:06:04