在SuiteScript 2.0中包含自定义模块

时间:2016-06-27 16:24:37

标签: netsuite suitescript

我试图在SS2.0索引脚本中引用自定义用户模块,如下所示:

/** * @NApiVersion 2.x * @NScriptType Restlet */ define([ 'N/record', 'N/error', "SuiteScripts/MyFolder/src/My_Controller", 'N/crypto',

哪个在沙盒中工作正常。但是,当我们部署到生产(捆绑推送)时,我们在调用RESTlet方法时会收到以下错误:

  

您无权加载此模块   SuiteScripts / MyFolder / src / My_Controller.js,它有一个@NModuleScope   SameAccount限制其对自定义对象的可用性   在账号1234566中创建

我们所做的只是:

  1. 使用我们的索引文件创建RESTlet(SS2.0不允许您定义库)
  2. 部署/捆绑RESTlet
  3. 使用Eclipse手动将自定义用户模块(My_Controller.js)上传到机柜到生产帐户(CTRL + U)
  4. 使用Postman
  5. 在RESTlet上调用方法(在生产中)

    谁能看到我们做错了什么?谢谢

1 个答案:

答案 0 :(得分:3)

你是对的,你错过了" @NModuleSc op e Public"。见https://netsuite.custhelp.com/app/answers/detail/a_id/49326

您可以将参数设置为Public,TargetAccount或SameAccount中的任何一个。这允许您控制其他脚本可以加载您的模块。如果您公开,任何捆绑包都可以运行该脚本。如果你想避免这种情况,你可以把它留给SameAccount,并确保你的My_controller.js与reslet在同一个包中。