Zoho Books/Inventory Deluge脚本两大问题:描述覆盖与费率不更新
Zoho Inventory Deluge脚本问题修复方案
问题1:自定义描述被商品默认描述覆盖,添加描述后丢失item_id
原脚本中注释掉了销售订单行描述的赋值语句,导致无法保留用户自定义的行描述;直接取消注释即可,原代码已明确将item_id存入pro2,不会出现丢失问题。
修改代码片段:
pro2 = Map(); pro2.put("item_id",ele1.get("item_id")); pro2.put("description",ele1.get("description")); // 取消注释这行,保留自定义描述 pro2.put("quantity",ele1.get("quantity")); pro2.put("rate",ele1.get("rate")); pdlist.add(pro2);
此修改既保留商品item_id,又同步用户在销售订单中修改的自定义描述,不会被商品默认描述覆盖。
问题2:已存在的「Recycling Fees」行项目无法更新费率
原脚本逻辑错误:修改了原始line_items数组中的目标行,但最终提交的pdlist未同步该修改。需直接在待提交的pdlist中更新目标行,同时修复语法错误。
修改代码片段:
found = false; // 遍历待提交的pdlist,直接更新目标行 for each pdItem in pdlist { if(pdItem.get("item_id") == "2015797000015488030") { pdItem.put("rate",Fee.toDecimal()); pdItem.put("quantity",1); found = true; break; } } // 未找到目标行则添加新行 if(found == false) // 原代码为赋值操作=,修正为相等判断== { pro = Map(); pro.put("item_id","2015797000015488030"); // 保持item_id为字符串类型,与判断条件匹配 pro.put("rate",Fee.toDecimal()); pro.put("quantity",1); pdlist.add(pro); info pro; }
关键修正点:
- 遍历
pdlist而非原始line_items,确保修改内容同步到提交参数中; - 修复条件判断语法错误:将赋值操作
=改为相等判断==; - 统一
item_id的字符串类型,避免类型不匹配导致的查找失败。
内容的提问来源于stack exchange,提问作者RTee
相关产品推荐
相关产品推荐

