首页 > 解决方案 > SuiteScript 2.0 RESTlet - 错误:入口点脚本必须实现一种脚本类型函数。对退货声明感到困惑

问题描述

阅读 NetSuite 文档后,我很难理解 return 语句。我收到以下错误:“入口点脚本必须实现一种脚本类型函数。”

这是示例 HelloWorld 代码,用于指出我不理解的内容:

    return {    //4. return statement 
        pageInit: helloWorld
    };

上面代码中的 pageInit 到底是什么?我知道它定义了入口点函数,但是作为什么?这似乎是导致该脚本运行的操作,但我不知道它叫什么。我还看到了 onRequest、onLoad 和其他一些,但我不确定它们是什么,所以我可以找到它们的列表。

编辑:这些是入口点事件。

据我了解,您指定此值(上面的 pageInit),然后将其设置为对应的入口点函数。

这是我导致错误的代码:

/**
 * @NApiVersion 2.0
 * @NScriptType Restlet
 * @NModuleScope Public
 */

require(['N/search'], //1. Define Function
    function(search) {  //2. Call Back Function
        function search(datain) {   //3. Entry Point Function
            var searchId = datain.savedsearchid;

            var mySearch = search.load(searchId);

            var resultsSet = mySearch.run();

            var searchid = 0;
            do {
                var resultslice = resultset.getResults( searchid, searchid+1000 );
                for (var rs in resultslice) {
                    results.push( resultslice[rs] );
                    searchid++;
                }
            } while (resultslice.length >= 1000);
        }   

        return {
            onRequest : search
        };
    }
);

谢谢参观。

标签: netsuitereturn-typesuitescript2.0entry-point

解决方案


您需要将返回对象的键与脚本类型的有效入口点相匹配。

Restlet 没有onRequest入口点,因此您会看到错误。

检查您的 Restlet 脚本类型的帮助文档以查看有效的入口点值。


推荐阅读