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
相关产品推荐
相关产品推荐

