我有一个脚本化搜索,它适用于某些领域,但不适用于其他领域,并且无法弄清楚为什么会这样。它不适用于与销售订单的美元金额相关的任何字段,这是我们需要此搜索的主要原因!这是我的代码,适用于除 amount 之外的所有字段,它会在导出的 csv 中返回空白列。也尝试过客户领域,效果很好。 API 2.0
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.getText({ name: "amount" }),
result.getValue({ name: "tranid" }),
result.getText({ name: "entity" })
].join(",") + "\n";
return true;
});
对于金额字段,您需要使用
result.getValue('amount')
而不是 result.getText('amount')
。
更一般地说:仅当您需要返回 SELECT 字段的文本值时才使用
getText()
(其中使用 getValue()
将返回内部 ID)。示例:如果您使用 getValue()
,上例中的客户(或“实体”)字段将返回数字内部 ID(例如:12345),而当您使用 getText()
时,将返回文本客户名称(例如:ACME International)。当调用其他字段类型时,getText()
将返回null
。