Suitescript 计划搜索返回一些字段值,而不返回其他字段值

问题描述 投票:0回答:1

我有一个脚本化搜索,它适用于某些领域,但不适用于其他领域,并且无法弄清楚为什么会这样。它不适用于与销售订单的美元金额相关的任何字段,这是我们需要此搜索的主要原因!这是我的代码,适用于除 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;
    });
netsuite suitescript suitescript2.0
1个回答
0
投票

对于金额字段,您需要使用

result.getValue('amount')
而不是
result.getText('amount')

更一般地说:仅当您需要返回 SELECT 字段的文本值时才使用

getText()
(其中使用
getValue()
将返回内部 ID)。示例:如果您使用
getValue()
,上例中的客户(或“实体”)字段将返回数字内部 ID(例如:12345),而当您使用
getText()
时,将返回文本客户名称(例如:ACME International)。当调用其他字段类型时,
getText()
将返回
null

© www.soinside.com 2019 - 2024. All rights reserved.