我正在尝试按照Suitescript 2.0培训指南将Map / reduce类型脚本上传到netsuite。我收到以下错误:“ SuiteScript 2.0入口点脚本必须实现一个脚本类型功能。”
我正在使用getInputData()和map()函数。返回指向保存的搜索的参考对象。然后提取并记录上下文值和已解析的上下文值(比较本课程中的json字符串和js对象)。
任何人都看到语法错误,知道我可能会缺少什么,或者我可以测试什么吗?
码:
/**
* @NApiVersion 2.x
* @NScriptType MapReduceScript
*/
define(['N/search']),
function(search) {
function getInputData() {
return { type: 'search', id: 'customsearch_iii_payments' };
}
function map(context) {
var jsonResult = context.value
var searchResult = JSON.parse(context.value);
log.debug('JSON result' + jsonResult);
log.debug('Search Result' + searchResult);
}
return {
getInputData: getInputData,
map: map
}
}
最佳答案
这是我的lint没有发现的netsuite特定的语法错误。我的脚本定义不是包装整个脚本,而是包装模块声明。
工作代码:
/**
* @NApiVersion 2.x
* @NScriptType MapReduceScript
* @NModuleScope SameAccount
*/
define(['N/search'],
function(search) {
function getInputData() {
return { type: 'search', id: 'customsearch_iii_payments' };
}
function map(context) {
var jsonResult = context.value
var searchResult = JSON.parse(context.value);
log.debug('JSON result' + jsonResult);
log.debug('Search Result' + searchResult);
}
return {
getInputData: getInputData,
map: map
}
});
关于javascript - 无法将文件上传到SuiteScript,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50883005/