javascript - 无法将文件上传到 SuiteScript

标签 javascript mapreduce netsuite suitescript

我正在尝试按照 suitescript 2.0 培训指南将 Map/reduce 类型脚本上传到 netsuite。我收到以下错误:“SuiteScript 2.0 入口点脚本必须实现一种脚本类型函数。”

我正在使用 getInputData() 和 map() 函数。返回指向已保存搜索的引用对象。然后提取并记录上下文值和解析后的上下文值(在类(class)中比较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
  }
}

最佳答案

这是一个 netsuite 特定的语法错误,我的 linter 没有捕捉到。我的脚本定义没有包装整个脚本,只是包装了模块声明。

工作代码:

/**
 * @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/

相关文章:

javascript - 在 JavaScript 中递归地添加任意两个数字

Javascript - Jquery - 单击(函数()

javascript - 如何在 Google Maps API 中仅对单个标记进行动画处理

javascript - 如何添加用于 CouchDB View 的 Javascript 库

netsuite - 如何知道NetSuite中参数的含义

soap - NetSuite- postman -休息- "Incorrect data center requested!"

javascript - 如何在回调中访问正确的“this”?

java - Hadoop map-reducer 没有写入任何输出

java - hadoop mapreduce : java. lang.UnsatisfiedLinkError : org. apache.hadoop.util.NativeCodeLoader.buildSupportsSnappy()Z

javascript - Netsuite SSv1 使用另一个已保存搜索的筛选器替换已保存搜索的筛选器