Zoho CRM联系人FirstName格式修正Deluge脚本失效求助
修复Zoho联系人FirstName格式的Deluge脚本问题
原代码存在的问题
- 字符串截取逻辑不合理:使用
removeFirstOccurrence处理首字母后的内容,若名字首字母重复(如"Anna")会错误移除匹配字符,且该方法存在拼写错误(应为removeFirstOccurrence) - 更新记录参数错误:
zoho.crm.updateRecord的第二个参数需传入记录ID而非处理后的名字;第三个参数中"First_Name":"Name"是将字段设为字符串"Name",而非变量值 - 存在冗余代码:定义的
mp变量未实际使用 - 缺少空值判断:若
First_Name为空会触发脚本错误
修正后的代码
// 获取目标联系人记录 a = zoho.crm.getRecordById("Contacts", input.ID); // 获取原姓名字段值 originalName = a.get("First_Name"); // 处理姓名格式:首字母大写,其余小写 if(originalName != null && originalName != "") { firstChar = originalName.subString(0, 1).toUppercase(); restChars = originalName.subString(1).toLowerCase(); formattedName = firstChar + restChars; // 构造更新数据Map updateData = map(); updateData.put("First_Name", formattedName); // 执行更新操作 updateResult = zoho.crm.updateRecord("Contacts", input.ID, updateData); info formattedName; info updateResult; } else { info "First_Name字段为空或不存在"; }
修复说明
- 改用
subString(1)截取首字母后的内容,逻辑更稳定,避免字符重复导致的错误 - 修正
updateRecord的参数:第二个参数传入记录IDinput.ID,第三个参数传入包含处理后姓名的Map - 添加空值判断,防止空字段引发的脚本异常
- 清理冗余变量,简化代码逻辑
内容的提问来源于stack exchange,提问作者Philip Oguntifa
相关产品推荐
相关产品推荐

