使用 SuiteScript 2.0 添加客户端脚本以在查看模式下录制
Adding Client Script to Record in View Mode with SuiteScript 2.0
我需要在 "VIEW" 模式下将一个函数应用到带有记录的 NetSuite 中的按钮。在 SuiteScript 1.0 中非常简单,只需在 beforeLoad 用户事件触发期间附加一个客户端脚本脚本即可:
form.setScript("custscript_script_record_id")
但是,对于 2.0,它需要脚本文件的内部 ID 或文件柜中实际文件所在位置的路径和文件名。我对这种方法的问题是能够将部署功能捆绑到另一个文件的内部 ID 及其路径与创建所有内容的帐户内不同。由于将文件锁定为无法进行任何编辑,因此也无法在已安装的帐户中进行编辑。
如果我所做的只是打开一个用于交互的脚本表单,这不是问题,因为我可以将 "window.open(url)" 作为按钮的功能传入。问题是如果 URL 调用或其他一些 activity 需要在不打开弹出窗口 window 的情况下发生,或者需要的不仅仅是一个简单的命令。如何将功能应用于按钮,同时仍然不知道可以在帐户之间更改的值?
我有一个使用客户端脚本的捆绑应用程序。这有效:
form.clientScriptModulePath = './clientScript.js';
捆绑器在安装时将您的文件结构扁平化。您可以在源帐户中的 /Suitescripts/MyBundleDir 下组织您的捆绑包,但您不能使用类似以下的内容:
/Suitescripts/MyBundleDir/Part1/clientScript.js
/Suitescripts/MyBundleDir/Part1/ueScript.js
在已安装的帐户中,它将全部扁平化在一个捆绑帐户下
/SuiteBundles/bundleId/clientScript.js
/SuiteBundles/bundleId/ueScript.js
我需要在 "VIEW" 模式下将一个函数应用到带有记录的 NetSuite 中的按钮。在 SuiteScript 1.0 中非常简单,只需在 beforeLoad 用户事件触发期间附加一个客户端脚本脚本即可:
form.setScript("custscript_script_record_id")
但是,对于 2.0,它需要脚本文件的内部 ID 或文件柜中实际文件所在位置的路径和文件名。我对这种方法的问题是能够将部署功能捆绑到另一个文件的内部 ID 及其路径与创建所有内容的帐户内不同。由于将文件锁定为无法进行任何编辑,因此也无法在已安装的帐户中进行编辑。
如果我所做的只是打开一个用于交互的脚本表单,这不是问题,因为我可以将 "window.open(url)" 作为按钮的功能传入。问题是如果 URL 调用或其他一些 activity 需要在不打开弹出窗口 window 的情况下发生,或者需要的不仅仅是一个简单的命令。如何将功能应用于按钮,同时仍然不知道可以在帐户之间更改的值?
我有一个使用客户端脚本的捆绑应用程序。这有效:
form.clientScriptModulePath = './clientScript.js';
捆绑器在安装时将您的文件结构扁平化。您可以在源帐户中的 /Suitescripts/MyBundleDir 下组织您的捆绑包,但您不能使用类似以下的内容:
/Suitescripts/MyBundleDir/Part1/clientScript.js
/Suitescripts/MyBundleDir/Part1/ueScript.js
在已安装的帐户中,它将全部扁平化在一个捆绑帐户下
/SuiteBundles/bundleId/clientScript.js
/SuiteBundles/bundleId/ueScript.js