如何在 map reduce suitescript 中将值从 getInputData() 传递到 map() 函数?

How to pass a value from getInputData() to map() function in map reduce suitescript?

我制作了一个 suitelet,它是 运行 一个 map-reduce 脚本并传递一个日期参数。现在需要的是在 map() 函数中包含该日期对象(来自 suitelet)。这样将在 map() 中创建的记录的日期可以是 trandate

 define(['N/record', 'N/search', 'N/runtime'], function (record, search, runtime) {
  function getInputData() {
    try {
      var slfilter = runtime.getCurrentScript().getParameter({ name: 'custscript_searchfilter_date' });
      slfilter.replace(/\/g, "");
      var dateSL = JSON.parse(slfilter);
      log.debug('dateSL parsed', dateSL)
      var date = dateSL['date'];
      log.debug('date', date);

      var savedSearch = search.load({ id: 'customsearch_wip_correction' });

      var results = getResults(savedSearch.run())
      log.debug('results:', results)      

      return results;
    }
    catch (e) {
      log.error("GetInputData ", e);
    }
  }

  function map(context) {

    try {
    // date is required here 
    var data = JSON.parse(context.value);
    log.debug('map:' + context.key, context.value)

    var amount = data.values['SUM(amount)'];
    log.debug('amount', amount)

    var location = data.values['GROUP(location)'][0].value;
    log.debug('location', location)
}
catch (e) {
  log.error("map", e)
}


 }

runtime.getCurrentScript().getParameter 放入地图部分。

N/runtime 可以在客户端脚本或用户事件的任何端点中工作。