You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过SuiteScript在NetSuite中为供应商添加币种数据并解决必填错误

解决SuiteScript创建供应商时币种子列表报错问题

问题根源分析

你遇到的Please enter value(s) for: Currency错误,核心是代码操作币种子列表的逻辑存在3个关键错误:

  • 调用selectNewLine时错误传入line:1参数:该方法用于创建新行,无需指定行号,指定行号是选择已有行的用法。
  • 循环外仅执行一次selectNewLine:要添加多个币种行,每一行都需要先执行一次selectNewLine来初始化新行。
  • setCurrentSublistValue的fieldId参数错误:币种子列表的字段ID固定为currency,你用遍历的key2作为字段ID,导致系统无法识别要设置的字段。

修正后的代码示例

// 获取可用币种信息
var currencies = getCurrenciesInformation();
if (!isNullOrEmpty(currencies)) {
  // 遍历每个币种,逐个添加子列表行
  for (var key in currencies) {
    var currencyInfo = currencies[key];
    if (!isNullOrEmpty(currencyInfo)) {
      // 1. 初始化新的币种子列表行
      rec.selectNewLine({
        sublistId: "currency"
      });
      
      // 2. 设置当前行的币种值(fieldId固定为"currency")
      rec.setCurrentSublistValue({
        sublistId: "currency",
        fieldId: "currency",
        value: currencyInfo.id
      });
      
      // 3. 提交当前行
      rec.commitLine({
        sublistId: "currency"
      });
      
      log.debug("已添加币种行", currencyInfo);
    }
  }
}

额外注意事项

  • 确认getCurrenciesInformation返回的currencyInfo.id是NetSuite中币种记录的有效内部ID,而非其他标识(如代码或名称)。
  • 如果你的账户启用了多币种功能,确保供应商记录的主币种已正确设置(主币种是单独的字段,不是子列表行),子列表行是用于添加该供应商支持的其他币种。

内容的提问来源于stack exchange,提问作者Akhil KC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 12:50:19