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

SuiteScript 2.0 Deploy from Eclipse Script Type Function Error

下午好。

我真的很难解决这个问题,显然它应该非常容易理解。我正在使用 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>

显然,我缺少正确的 Script Type 函数,但这正是我认为 beforeLoad 实际上正在做的事情。我在这里错过了什么?

您缺少 usereventscript/beforeloadfunction 元素:

<beforeloadfunction>beforeLoad</beforeloadfunction>

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

后来的 Eclipse 版本(Kepler 之后)不再支持 SuiteCloud Development Framework 插件。要么,要么您需要向已安装的 Eclipse 版本添加更多内容才能使其正常工作,但我还没有找到任何文档来帮助解决这个问题。

我们清理了 Eclipse 安装并返回到 Eclipse Kepler (4.3.2),一切正常。

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

感谢您抽出宝贵时间协助解决此问题。我很感激。