SuiteScript 2.0搜索部分字段无返回值,金额字段导出CSV为空
SuiteScript 2.0销售订单搜索金额字段为空问题解决
核心问题是金额字段使用了错误的取值方法:amount属于数值类型字段,必须用getValue()获取数据,而你代码里用了仅适用于文本/枚举类字段的getText(),这直接导致金额列返回空值。
修正后的代码如下:
var salesorderSearchObj = search.create({ type: search.Type.SALES_ORDER, filters: [ ["type", search.Operator.ANYOF, "SalesOrd"], "AND", ["mainline", search.Operator.IS, "T"] ], columns: [ search.createColumn({ name: "trandate", label: "Date" }), search.createColumn({ name: "amount", label: "Amount" }), search.createColumn({ name: "tranid", label: "Document Number" }), search.createColumn({ name: "entity", label: "Name" }) ] }); var yourCSVData = "Date,Amount,Document Number,Name\n"; salesorderSearchObj.run().each(function (result) { yourCSVData += [ result.getValue({ name: "trandate" }), result.getValue({ name: "amount" }), // 替换为getValue获取数值 result.getValue({ name: "tranid" }), result.getText({ name: "entity" }) ].join(",") + "\n"; return true; });
如果需要对金额进行格式化(比如保留两位小数),可以在获取数值后自行处理:
var rawAmount = result.getValue({ name: "amount" }); var formattedAmount = rawAmount ? parseFloat(rawAmount).toFixed(2) : "";
内容的提问来源于stack exchange,提问作者peterjonafin
相关产品推荐
相关产品推荐

