You need to enable JavaScript to run this app. 如何在SuiteScript自定义公共工具库中调用NetSuite原生模块
优惠活动
大模型
产品
解决方案
定价
更多

如何在SuiteScript自定义公共工具库中调用NetSuite原生模块

自定义公共工具模块访问NetSuite原生模块解决方案

错误写法说明

你第一种全局变量挂载的写法不符合NetSuite SuiteScript 2.x的模块加载规范,没有通过AMD的define函数声明依赖,所以无法在脚本内部引入N/开头的官方模块,无法正常调用NetSuite能力。

正确实现步骤

你第二种AMD模块化写法的核心逻辑是正确的,只需要配套完善配置和调用逻辑即可正常使用,具体操作如下:

  • 第一步:上传工具脚本并记录路径
    将优化后的工具脚本上传到NetSuite文件柜,记录完整路径,例如路径为/SuiteScripts/common/matts_custom_functions.js。
    优化后的工具脚本代码示例:
    /**
     * @NApiVersion 2.1
     * @NModuleScope Public
     */
    define(['N/record', 'N/search'], (record, search) => {
        const MattsFunctions = {
            dynamicTransactionSearch: (sentId) => {
                const thisRecord = record.load({
                    type: record.Type.SALES_ORDER,
                    id: sentId
                })
                return thisRecord.id
            }
            // 其余常用函数可直接在该对象内扩展
        }
        return MattsFunctions
    })
    
  • 第二步:编写AMD配置文件
    新建JSON格式的AMD配置文件(例如命名为custom_amd_config.json),上传到文件柜,内容参考如下:
    {
      "paths": {
        "mattsCommon": "/SuiteScripts/common/matts_custom_functions"
      }
    }
    
    注意:paths内的路径对应工具脚本的文件柜路径,不需要加.js后缀。
  • 第三步:在业务脚本中调用工具方法
    在你的Map/Reduce等业务脚本的头部注解添加@NAmdConfig指向AMD配置文件的完整路径,然后在define依赖中引入配置的模块名即可调用,示例:
    /**
     * @NApiVersion 2.1
     * @NScriptType MapReduceScript
     * @NAmdConfig /SuiteScripts/common/custom_amd_config.json
     */
    define(['N/log', 'mattsCommon'], (log, mattsCommon) => {
        const getInputData = () => {
            // 调用自定义公共方法
            const resultOrderId = mattsCommon.dynamicTransactionSearch(10001)
            log.debug('公共方法调用返回值', resultOrderId)
            // 后续业务逻辑
        }
        // 其余Map/Reduce阶段逻辑省略
        return {
            getInputData: getInputData
        }
    })
    

常见报错排查:如果出现模块加载失败的提示,优先检查AMD配置中填写的工具脚本路径是否和实际路径完全一致,路径区分大小写,不要遗漏层级或者多写斜杠。

内容的提问来源于stack exchange,提问作者Matt Kraemer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 20:18:02