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

Zoho CRM中Tickets与Commissions模块联动更新的Deluge脚本问题排查

问题排查:Zoho CRM Deluge脚本修改Commission状态

需求说明

当Zoho CRM的Tickets模块中Outbound日期设为今日时,自动将Commissions模块对应记录的Commission_Status字段改为Approved。

现有脚本问题分析

先贴出你写的原始代码:

Tickets_list = zoho.crm.searchRecords("Tickets","(Outbound:equals:zoho.currentdate)");
Commission = zoho.crm.searchRecords("Commissions","Commission_Status");
for each  Ticket in Tickets_list
{
    zoho.crm.searchRecords("Commissions","Commission_Status");
    Commission_Update_Map = Map();
    Commission_Update_Map.put("Commission_Status","Approved");
    Commission_Update_Response = zoho.crm.updateRecord("Commissions",Commission.getJSON("id"),Commission_Update_Map);
    info Commission_Update_Response;
}
return "";

这里存在几个核心问题:

  • 关联逻辑缺失:完全没定义Tickets和Commissions的关联关系——你得告诉脚本,当前Ticket对应的是哪条Commission记录(比如Tickets里有没有关联Commissions的字段?),现在的脚本根本不知道要更新哪条Commission。
  • 无效的Commission搜索:
    开头的Commission = zoho.crm.searchRecords("Commissions","Commission_Status");搜索条件不完整,只写了字段名没加筛选规则,会返回所有Commission记录,但后续取Commission.getJSON("id")只会拿第一条记录的ID,逻辑完全错误。
    循环里重复执行zoho.crm.searchRecords("Commissions","Commission_Status");,既没接收返回值,也没有效筛选,属于冗余代码。
  • 日期匹配问题:zoho.currentdate返回纯日期格式,要是Tickets的Outbound是带时间的日期时间字段,用equals匹配会失败,应该换成on操作符,比如(Outbound:on:zoho.currentdate)。

修正后的脚本示例

假设Tickets模块有个名为Commission_Related的关联字段(用来关联Commissions模块),修正后的脚本如下:

// 搜索今日Outbound的Tickets记录,用on匹配兼容日期时间字段
ticketsList = zoho.crm.searchRecords("Tickets", "(Outbound:on:" + zoho.currentdate + ")");

for each ticket in ticketsList
{
    // 获取当前Ticket关联的Commission记录ID
    relatedCommissionId = ticket.getJSON("Commission_Related").getJSON("id");
    
    if (relatedCommissionId != null)
    {
        // 构造更新字段映射
        updateMap = Map();
        updateMap.put("Commission_Status", "Approved");
        
        // 更新对应Commission记录
        updateResponse = zoho.crm.updateRecord("Commissions", relatedCommissionId, updateMap);
        info "更新结果:" + updateResponse;
    }
    else
    {
        info "Ticket " + ticket.getJSON("id") + "未关联Commission记录,跳过更新";
    }
}

return "执行完成";

额外注意事项

  • 确认关联字段:一定要核实Tickets和Commissions之间的关联字段名称(比如可能是Commission_ID或其他自定义字段),替换脚本里的Commission_Related。
  • 权限检查:确保执行脚本的角色有Tickets的查看权限和Commissions的编辑权限。
  • 触发时机:建议把脚本设置为Tickets模块的编辑后触发工作流,只有当Outbound字段被修改为今日时才执行,避免无意义的循环。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 01:40:42