SuiteScript 2.0 从 Eclipse 部署脚本类型函数错误



下午好。

我真的很挣扎,显然弄清楚应该非常简单。我正在使用 Eclipse Neon.3 Release 4.6.3 来构建、编译 SuiteScript 2.0 并将其部署到我们的沙盒环境中。我已经成功地管理了带有工作脚本的 1.0 部署,但随着我们迁移到 2.0,现在这是必须修复的事情。

错误是:SuiteScript 2.0 入口点脚本必须实现一个脚本类型函数。

这是脚本:

/**
* @NApiVersion 2.0
* @NScriptType UserEventScript
*/
define(['N/record'], 
function (record) {
function doThis(context) {
log.debug({'details': 'IN THE FUNCTION!'});
}
return {
beforeLoad: doThis
};
});

这是用户事件 XML(因为错误指向该文件:

<usereventscript scriptid="customscript_userevent">
<aftersubmitfunction/>
<beforeloadfunction>doThis</beforeloadfunction>
<beforesubmitfunction/>
<description></description>
<isinactive></isinactive>
<name>SDF Tutorial User Event</name>
<notifyowner>T</notifyowner>
<scriptfile>[/SuiteScripts/UserEventScript_2.js]</scriptfile>
<scriptdeployments>
<scriptdeployment scriptid="customdeploy_ue_tut">
<isdeployed>T</isdeployed>
<loglevel>DEBUG</loglevel>
<recordtype>[customrecord_tutorial]</recordtype>
<status>TESTING</status>
</scriptdeployment>
</scriptdeployments>

显然,我缺少正确的脚本类型函数,但这就是我之前认为加载实际正在做的事情。我在这里错过了什么?

嗯,答案比我预期的要简单。请注意,我来自Visual Studio c#背景,所以我是从这个角度看待这个问题的。

Eclipse的更高版本(在开普勒之后(停止支持SuiteCloud开发框架插件。要么,要么你需要向已安装的 Eclipse 版本添加更多内容才能使其正常工作,但我根本没有找到任何文档来帮助解决这个问题。

我们清理了我们的 Eclipse 安装并回到 Eclipse Kepler (4.3.2(,一切都按预期工作。

我认为这对开发人员是一种伤害,因为我们应该能够访问通过 IDE 提供的最新版本的库和插件,但这只是我的意见。最后,我们有工作模型,可以从我们的开发机器部署到我们的所有环境中,这样我们就可以现在就完成工作。

感谢您抽出宝贵时间协助回答这个问题。我很感激。

你缺少 usereventscript/beforeloadfunction 元素:

<beforeloadfunction>beforeLoad</beforeloadfunction>

最新更新